snapshot property
MetricsSnapshot
get
snapshot
A snapshot of all counters as of now.
Implementation
MetricsSnapshot get snapshot {
Duration? average;
if (_latencies.isNotEmpty) {
final totalMicros = _latencies.fold<int>(
0,
(sum, d) => sum + d.inMicroseconds,
);
average = Duration(microseconds: totalMicros ~/ _latencies.length);
}
return MetricsSnapshot(
totalRequests: _total,
successfulRequests: _success,
failedRequests: _failed,
retryCount: _retries,
timeoutCount: _timeouts,
offlineFailures: _offlineFailures,
cacheHits: _cacheHits,
cacheMisses: _cacheMisses,
queuedRequests: _queued,
averageLatency: average,
);
}