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