stop method
Stop tracking and return the elapsed duration.
Returns null if operationId was not being tracked.
Implementation
Duration? stop(String operationId, {Map<String, dynamic>? extraMetadata}) {
final entry = _running.remove(operationId);
if (entry == null) return null;
final duration = DateTime.now().difference(entry.startTime);
final merged = <String, dynamic>{
...entry.metadata,
if (extraMetadata != null) ...extraMetadata,
};
_completed.add(
PerformanceMetric(
operationId: operationId,
duration: duration,
startTime: entry.startTime,
metadata: merged,
),
);
return duration;
}