32#include <unordered_map>
60 std::string_view name,
63 { t.increment(name, value, labels) } -> std::same_as<void>;
83 std::string_view name,
86 { t.gauge(name, value, labels) } -> std::same_as<void>;
106 std::string_view name,
109 { t.histogram(name, value, labels) } -> std::same_as<void>;
129 std::string_view name,
130 std::chrono::nanoseconds duration,
132 { t.timing(name, duration, labels) } -> std::same_as<void>;
177 { t.get_implementation_name() } -> std::convertible_to<std::string>;
197 { t.get_metric_collector() };
198 { t.create_metric_collector(prefix) };
A type that supports counter metric operations.
A type that supports gauge metric operations.
A type that supports histogram metric operations.
A complete metric collector type satisfying IMetricCollector interface.
A type that can provide metric collector instances.
A type that provides implementation name for debugging.
A type that supports timing metric operations.
std::unordered_map< std::string, std::string > metric_labels
Metric labels for dimensional data.