dm_mac.views.prometheus module¶
Views related to machine endpoints.
- class dm_mac.views.prometheus.LabeledCounterMetricFamily(name: str, documentation: str, labels: Dict[str, str] | None = None, unit: str = '')¶
Bases:
MetricCounter metric with labels, sibling to LabeledGaugeMetricFamily.
- add_metric(labels: Dict[str, str], value: float) None¶
Add a counter sample under
<name>_total.
- class dm_mac.views.prometheus.LabeledGaugeMetricFamily(name: str, documentation: str, value: float | None = None, labels: Dict[str, str] | None = None, unit: str = '')¶
Bases:
MetricNot sure why the upstream one doesn’t allow labels…
- add_metric(labels: Dict[str, str], value: float) None¶
Add a metric to the metric family.
- Args:
labels: A dictionary of labels value: A float
- class dm_mac.views.prometheus.PromCustomCollector¶
Bases:
objectCustom collector for metrics.
- collect() Generator[Metric, None, None]¶
Collect custom metrics.
- async dm_mac.views.prometheus.prometheus_route() Response¶
API method to return Prometheus-compatible metrics.