There was an error while loading. Please reload this page.
Document the metrics endpoint, its counters and its cost [#1419] The endpoint shipped with #1139 and nothing outside the changelog said so: a grep for "metrics" over README.md and providers.md returned nothing. A monitoring surface nobody documents is one nobody uses. The two facts a reader needs first are the two least guessable, so both are stated with the reason rather than as bare configuration. It is elevation-gated rather than anonymous, because the exposition names which providers a server has and how often logins against them fail, which is reconnaissance for a caller who cannot sign in. And it is not fronted by the rate limiter, so a scrape interval is expected rather than tolerated. Each counter gets a line with its label and the label's full vocabulary, read off the enumerations the call sites are constrained to rather than off the call sites, so a reader can write a rule against a value before that value has ever been emitted. What is deliberately absent from every label - a username, an identity-provider subject, a claim value - is stated as a property of the signatures rather than as a promise, because that is what makes it hold. The series cap gets a section of its own: a non-zero sso_metrics_series_refused_total means a defect rather than a large configuration, which is worth alerting on and is not obvious from the name. The counters are process-local and restart at zero. That is what a monitoring system expects, and it is written down anyway, before somebody reads a graph falling to zero as an outage.