Class BowireTelemetryOptions

Namespace
Kuestenlogik.Bowire.Telemetry
Assembly
Kuestenlogik.Bowire.dll

Configuration knobs for Bowire's self-telemetry seam (#29). Bound from Bowire:Telemetry by the optional AddBowireTelemetry helper in Kuestenlogik.Bowire.Extension.Telemetry; the CLI's --telemetry / --telemetry-strip-method-labels flags feed the same keys via an in-memory configuration overlay.

public sealed class BowireTelemetryOptions
Inheritance
BowireTelemetryOptions
Inherited Members

Remarks

Off by default: a laptop user running bowire --url ... shouldn't see any OTel exporter activity. Operators of a shared multi-tenant install opt in by setting Bowire:Telemetry:Enabled=true (or passing --telemetry) and pointing OTEL_EXPORTER_OTLP_ENDPOINT at their collector.

Wire endpoint, headers, protocol, &c. come from the standard OTEL_* environment variables -- Bowire doesn't introduce its own re-naming of OTel's vocabulary. That keeps existing Prometheus / Loki / Tempo deploys plug-and-play.

Constructors

BowireTelemetryOptions()

public BowireTelemetryOptions()

Properties

Enabled

Master switch. false (default) skips OTel registration entirely -- no exporter threads, no listeners. true wires AddOpenTelemetry().WithMetrics().WithTracing() against BowireTelemetry's Source and Meter.

public bool Enabled { get; set; }

Property Value

bool

StripMethodLabels

Drop the high-cardinality service + method dimensions from emitted metrics when true. Shared multi-tenant installs (or anything covered by GDPR / HIPAA / SOX) almost always want this on -- the per-method histogram bin's value is way too high a price for the privacy-leakage risk in regulated environments. Defaults false to keep the per-method breakdown that operators on private networks want.

public bool StripMethodLabels { get; set; }

Property Value

bool