Class Telemetry.Metrics
- Namespace
- Fdyay.IdentityServer
- Assembly
- Fdyay.IdentityServer.Core.dll
The instruments this server writes to.
public static class Telemetry.Metrics
- Inheritance
-
Telemetry.Metrics
- Inherited Members
Fields
ActiveRequests
Protocol requests currently in flight, by endpoint.
public static readonly UpDownCounter<long> ActiveRequests
Field Value
Events
Every event this server raises, counted whether or not it is delivered.
public static readonly Counter<long> Events
Field Value
Remarks
One instrument tagged by event name rather than one counter per concern, and both halves of that choice are deliberate.
Derived from the event surface, because that surface has already been audited for completeness — twenty-four types, every one with a raise site, checked release by release. A counter per concern would be a second list to keep in step with the first, and the release that forgot to extend it would ship a decision nothing counted. Here a new event type is counted the moment it is raised, by construction.
Counted before EventsOptions is consulted, so a host that raises no events
still gets metrics. Those flags are off by default for a reason that does not apply here: an event
carries client ids, subject ids and addresses, and where those end up is a host's decision. A count
tagged with an event's name carries none of them. Gating metrics on a privacy control meant for
payloads would leave a host with monitoring switched on and nothing arriving.
RequestDuration
How long a protocol request took, by endpoint.
public static readonly Histogram<double> RequestDuration
Field Value
Remarks
Seconds rather than milliseconds, which is what OpenTelemetry's semantic conventions specify for a duration histogram — a collector's default bucket boundaries are chosen for that unit, and a histogram in the wrong one lands every measurement in the last bucket.