Anvil.Telemetry.Metrics (Anvil v0.1.1)
View SourceTelemetryMetrics definitions for Anvil.
Defines counters, distributions, and summaries for monitoring labeling operations. Compatible with TelemetryMetricsStatsd, Prometheus, and other exporters.
Metric Categories
- Counters: Total counts (queues created, labels submitted, assignments)
- Distributions: Latency histograms (assignment dispatch, agreement compute)
- Summaries: Percentiles (agreement scores)
- Last Values: Current state (export progress, queue depth)
Usage
In your application supervisor:
children = [
# Other children...
{TelemetryMetricsStatsd, metrics: Anvil.Telemetry.Metrics.metrics(), port: 8125}
]Or with Prometheus:
children = [
{TelemetryMetricsPrometheus, metrics: Anvil.Telemetry.Metrics.metrics()}
]
Summary
Functions
Returns core metrics for basic monitoring (subset of all metrics).
Extracts metadata tags from telemetry metadata map.
Returns all metric definitions for Anvil.
Functions
@spec core_metrics() :: [Telemetry.Metrics.t()]
Returns core metrics for basic monitoring (subset of all metrics).
Use this for minimal overhead monitoring or when cardinality is a concern.
Extracts metadata tags from telemetry metadata map.
Filters to only include known tag keys to prevent cardinality explosion.
@spec metrics() :: [Telemetry.Metrics.t()]
Returns all metric definitions for Anvil.