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