Class ObservabilityBridgeOptions
Configuration options for the Observability Bridge that exports Resource System metrics to OpenTelemetry format.
public class ObservabilityBridgeOptions
- Inheritance
-
ObservabilityBridgeOptions
- Inherited Members
Remarks
The Observability Bridge periodically captures ResourceSnapshot instances and exposes them as OTel-compatible metrics via Meter.
Consumers can attach their preferred OTel exporters (Prometheus, OTLP, Console, etc.) to capture these metrics.
Constructors
ObservabilityBridgeOptions()
public ObservabilityBridgeOptions()
Fields
SectionName
The configuration section name for observability bridge settings.
public const string SectionName = "Typhon:ObservabilityBridge"
Field Value
Properties
ExportCapacityMetrics
Export CapacityMetrics (Current, Maximum, Utilization) to OTel. Default: true.
public bool ExportCapacityMetrics { get; set; }
Property Value
ExportDiskIOMetrics
Export DiskIOMetrics (ReadOps, WriteOps, ReadBytes, WriteBytes) to OTel. Default: true.
public bool ExportDiskIOMetrics { get; set; }
Property Value
ExportDurationMetrics
Export DurationMetric values (LastUs, AvgUs, MaxUs) to OTel. Default: true.
public bool ExportDurationMetrics { get; set; }
Property Value
ExportMemoryMetrics
Export MemoryMetrics (AllocatedBytes, PeakBytes) to OTel. Default: true.
public bool ExportMemoryMetrics { get; set; }
Property Value
ExportThroughputMetrics
Export ThroughputMetric counters to OTel. Default: true.
public bool ExportThroughputMetrics { get; set; }
Property Value
MetricNamePrefix
Prefix for all OTel metric names. Default: "typhon.resource".
public string MetricNamePrefix { get; set; }
Property Value
Remarks
Metric names follow the pattern: {prefix}.{path}.{kind}.{sub}
// With default prefix:
// Storage/PageCache Memory.AllocatedBytes → typhon.resource.storage.page_cache.memory.allocated_bytes
SnapshotInterval
How often to capture a new ResourceSnapshot from the IResourceGraph. Default: 5 seconds.
public TimeSpan SnapshotInterval { get; set; }
Property Value
Remarks
A 5-second interval balances freshness against overhead. Snapshots are lightweight (~50ns per node), so shorter intervals are feasible for high-resolution monitoring.
Thresholds
Health check thresholds per resource path. Key: normalized path (e.g., "Storage/PageCache"), Value: threshold configuration.
public Dictionary<string, HealthThresholds> Thresholds { get; set; }
Property Value
Remarks
Paths not in this dictionary use default thresholds:
- Degraded: 80% utilization
- Unhealthy: 95% utilization