averageExecutionTime property

Duration? get averageExecutionTime

The average execution time of successful actions.

Returns null if no successful executions have occurred.

Implementation

Duration? get averageExecutionTime {
  final successfulRecords = _executionHistory.where((r) => r.success);
  if (successfulRecords.isEmpty) return null;
  final totalMicroseconds = successfulRecords.fold<int>(
    0,
    (sum, r) => sum + r.duration.inMicroseconds,
  );
  final avgMicroseconds = totalMicroseconds ~/ successfulRecords.length;
  return Duration(microseconds: avgMicroseconds);
}