userver: utils::statistics::MetricTag< Metric > Class Template Reference
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
utils::statistics::MetricTag< Metric > Class Template Referencefinal

#include <userver/utils/statistics/metric_tag.hpp>

Detailed Description

template<typename Metric>
class utils::statistics::MetricTag< Metric >

Metric description.

Use MetricTag<Metric> for declarative style of metric registration and call MetricStorage::GetMetric for accessing metric data. Please note that metrics can be accessed from multiple coroutines, so Metric must be thread-safe (e.g. std::atomic<T>, rcu::Variable<T>, rcu::RcuMap<T>, concurrent::Variable<T>, etc.).

A custom metric type must be default-constructible and have the following free function defined:

void DumpMetric(utils::statistics::Writer&, const Metric&)
Examples
samples/testsuite-support/src/metrics.cpp.

Definition at line 27 of file metric_tag.hpp.

Public Member Functions

template<typename... Args>
 MetricTag (const std::string &path, Args &&... args)
 Register metric, passing a copy of args to the constructor of Metric
 
std::string GetPath () const
 

Constructor & Destructor Documentation

◆ MetricTag()

template<typename Metric>
template<typename... Args>
utils::statistics::MetricTag< Metric >::MetricTag ( const std::string & path,
Args &&... args )
inlineexplicit

Register metric, passing a copy of args to the constructor of Metric

Definition at line 31 of file metric_tag.hpp.

Member Function Documentation

◆ GetPath()

template<typename Metric>
std::string utils::statistics::MetricTag< Metric >::GetPath ( ) const
inline

Definition at line 35 of file metric_tag.hpp.

Friends And Related Symbol Documentation

◆ MetricsStorage

template<typename Metric>
friend class MetricsStorage
friend

Definition at line 38 of file metric_tag.hpp.


The documentation for this class was generated from the following file: