stop method

Duration? stop(
  1. String operationId, {
  2. Map<String, dynamic>? extraMetadata,
})

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;
}