prom 0.1.0
Client-independent C++23 Prometheus/OpenMetrics metric abstraction
Loading...
Searching...
No Matches
prom.hpp
Go to the documentation of this file.
1#pragma once
2
11
12#include <prom/adapter.hpp>
14#include <prom/counter.hpp>
15#include <prom/dimval.hpp>
16#include <prom/error.hpp>
17#include <prom/fwd.hpp>
18#include <prom/gauge.hpp>
19#include <prom/global.hpp>
20#include <prom/histogram.hpp>
21#include <prom/info.hpp>
22#include <prom/labels.hpp>
23#include <prom/metric_base.hpp>
24#include <prom/null_adapter.hpp>
25#include <prom/registry.hpp>
26#include <prom/scope.hpp>
27#include <prom/stateset.hpp>
28#include <prom/summary.hpp>
29#include <prom/unit.hpp>
30#include <prom/untyped.hpp>
31#include <prom/version.hpp>
CompositeAdapter — fan one metric out to several backends at once.
Counter — a monotonically increasing cumulative metric, and its designated-initializable CounterSpec.
Structural bridge to dimval: the DimensionalValue concept, NormalizedValue, and the normalize() overl...
Error model for prom: ErrorCode, Error, expected, Exception.
Forward declarations and shared_ptr aliases for the prom public API.
Gauge — a value that can move in both directions, and GaugeSpec.
The process-wide adapter cell and its install/swap semantics.
Histogram — bucketed observation distribution, and HistogramSpec.
The backend boundary: MetricMeta, MetricState/MetricHandle, and the pure-virtual Adapter interface.
Info — static key/value metadata exposed as an *_info series.
Label vocabulary: Label, the sorted/deduped Labels set, name validation, and an std::hash<Labels> spe...
MetricCore (the shared per-series state) and the CRTP MetricBase that gives every metric type value s...
NullAdapter — the always-available no-op backend.
Registry — the front door for creating registered metrics.
Scope — a per-library metrics instance with a shared name prefix, default constant labels,...
StateSet — a set of mutually-related boolean states, and StateSetSpec.
Summary — streaming quantile summary, and SummarySpec.
Metric kinds (MetricType) and the OpenMetrics Unit descriptor.
Untyped — a bare value with no semantic constraints, and UntypedSpec.