Class MonitoringTelemetry
- Namespace
- Kuestenlogik.Bowire.Monitoring
- Assembly
- Kuestenlogik.Bowire.Monitoring.dll
The monitoring metrics surface (#102) — a single Meter with the
two instruments the design calls for, in the shared bowire.* namespace
so #29's Grafana dashboards gain a section rather than a parallel one:
bowire.monitoring.probe.duration— histogram of run latency (ms).bowire.monitoring.probe.outcome— counter, tags: probe + outcome.
Recording is dependency-free (System.Diagnostics.Metrics is in
the BCL) and cheap when no listener is attached, so the engine records on
every run. The OTLP export lives in the opt-in
Kuestenlogik.Bowire.Monitoring.Otlp package; without it the instruments
still record in-process (readable by the workbench surface).
public static class MonitoringTelemetry
- Inheritance
-
MonitoringTelemetry
- Inherited Members
Fields
Meter
The shared meter all monitoring metrics flow through.
public static readonly Meter Meter
Field Value
MeterName
Meter name the OTLP exporter subscribes to via AddMeter.
public const string MeterName = "bowire.monitoring"
Field Value
ProbeDuration
Per-run latency, milliseconds.
public static readonly Histogram<double> ProbeDuration
Field Value
ProbeOutcome
Per-run outcome counter, tagged with the probe name + outcome.
public static readonly Counter<long> ProbeOutcome
Field Value
Methods
Record(string, ProbeResult, double)
Record one run's duration + outcome. No-op cost when unobserved.
public static void Record(string probeName, ProbeResult result, double latencyMs)
Parameters
probeNamestringresultProbeResultlatencyMsdouble