Immutable snapshot of provider health metrics (successes, failures, latency, cooldown) with derived rates and trends for monitoring reliability.
class HealthSnapshot {
const HealthSnapshot({
required this.provider,
this.successes = 0,
this.failures = 0,
this.consecutiveFailures = 0,
this.lastLatency = Duration.zero,
this.lastSuccess,
this.lastError = '',
this.cooldownUntil,
this.trend = HealthTrend.stable,
this.recentLatencies = const [],
});
final String provider;
final int successes;
final int failures;
final int consecutiveFailures;
final Duration lastLatency;
final DateTime? lastSuccess;
final String lastError;
final DateTime? cooldownUntil;
/// Current health trend direction.
final HealthTrend trend;
/// Recent latency samples (most recent last), capped at 10.
final List<Duration> recentLatencies;
/// Success rate as a fraction [0.0, 1.0].
double get s
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search 40K more like it.
Get a free API key