Common System 0.2.0
Common interfaces and patterns for system integration
Loading...
Searching...
No Matches
kcenon::common::concepts::TimingMetric Concept Reference

A type that supports timing metric operations. More...

#include <monitoring.h>

Concept definition

template<typename T>
std::string_view name,
std::chrono::nanoseconds duration,
const interfaces::metric_labels& labels) {
{ t.timing(name, duration, labels) } -> std::same_as<void>;
}
A type that supports timing metric operations.
Definition monitoring.h:128
std::unordered_map< std::string, std::string > metric_labels
Metric labels for dimensional data.
Definition monitoring.h:38

Detailed Description

A type that supports timing metric operations.

Types satisfying this concept can record timing measurements, which are specialized histograms for duration measurements.

Example usage:

template<TimingMetric M>
void record_latency(M& collector, std::chrono::nanoseconds duration) {
collector.timing("request_duration", duration);
}

Definition at line 128 of file monitoring.h.