Project
Loading...
Searching...
No Matches
o2::framework::DeviceMetricsHelper Struct Reference

#include <DeviceMetricsHelper.h>

Public Types

using NewMetricCallback = std::function< void(std::string const &, MetricInfo const &, int value, size_t metricIndex)>
 

Static Public Member Functions

static bool parseMetric (std::string_view const s, ParsedMetricMatch &results)
 Helper function to parse a metric string.
 
static bool processMetric (ParsedMetricMatch &results, DeviceMetricsInfo &info, NewMetricCallback newMetricCallback=nullptr)
 
static size_t metricIdxByName (std::string_view const name, const DeviceMetricsInfo &info)
 
template<std::same_as< int > T>
static auto & getMetricsStore (DeviceMetricsInfo &metrics)
 
template<std::same_as< float > T>
static auto & getMetricsStore (DeviceMetricsInfo &metrics)
 
template<std::same_as< uint64_t > T>
static auto & getMetricsStore (DeviceMetricsInfo &metrics)
 
template<std::same_as< int8_t > T>
static auto & getMetricsStore (DeviceMetricsInfo &metrics)
 
template<std::same_as< int > T>
static auto & getTimestampsStore (DeviceMetricsInfo &metrics)
 
template<std::same_as< float > T>
static auto & getTimestampsStore (DeviceMetricsInfo &metrics)
 
template<std::same_as< uint64_t > T>
static auto & getTimestampsStore (DeviceMetricsInfo &metrics)
 
template<std::same_as< int8_t > T>
static auto & getTimestampsStore (DeviceMetricsInfo &metrics)
 
template<std::same_as< int > T>
static auto getMetricType () -> MetricType
 
template<std::same_as< float > T>
static auto getMetricType () -> MetricType
 
template<std::same_as< uint64_t > T>
static auto getMetricType () -> MetricType
 
template<std::same_as< int8_t > T>
static auto getMetricType () -> MetricType
 
static auto updateNumericInfo (DeviceMetricsInfo &metrics, size_t metricIndex, float value, size_t timestamp)
 
template<DeviceMetricNumericValue T>
static auto getNumericMetricCursor (size_t metricIndex)
 
static size_t bookMetricInfo (DeviceMetricsInfo &metrics, char const *name, MetricType type)
 
template<DeviceMetricNumericValue T>
static size_t bookNumericMetric (DeviceMetricsInfo &metrics, char const *name, NewMetricCallback newMetricsCallback=nullptr)
 
template<DeviceMetricNumericValue T>
static std::function< void(DeviceMetricsInfo &, T value, size_t timestamp)> createNumericMetric (DeviceMetricsInfo &metrics, char const *name, NewMetricCallback newMetricsCallback=nullptr)
 

Detailed Description

Definition at line 41 of file DeviceMetricsHelper.h.

Member Typedef Documentation

◆ NewMetricCallback

using o2::framework::DeviceMetricsHelper::NewMetricCallback = std::function<void(std::string const&, MetricInfo const&, int value, size_t metricIndex)>

Type of the callback which can be provided to be invoked every time a new metric is found by the system.

Definition at line 44 of file DeviceMetricsHelper.h.

Member Function Documentation

◆ bookMetricInfo()

size_t o2::framework::DeviceMetricsHelper::bookMetricInfo ( DeviceMetricsInfo metrics,
char const *  name,
MetricType  type 
)
static

Definition at line 334 of file DeviceMetricsHelper.cxx.

◆ bookNumericMetric()

template<DeviceMetricNumericValue T>
static size_t o2::framework::DeviceMetricsHelper::bookNumericMetric ( DeviceMetricsInfo metrics,
char const *  name,
NewMetricCallback  newMetricsCallback = nullptr 
)
inlinestatic
Returns
helper to insert a given value in the metrics

Definition at line 163 of file DeviceMetricsHelper.h.

◆ createNumericMetric()

template<DeviceMetricNumericValue T>
static std::function< void(DeviceMetricsInfo &, T value, size_t timestamp)> o2::framework::DeviceMetricsHelper::createNumericMetric ( DeviceMetricsInfo metrics,
char const *  name,
NewMetricCallback  newMetricsCallback = nullptr 
)
inlinestatic
Returns
helper to insert a given value in the metrics

Definition at line 178 of file DeviceMetricsHelper.h.

◆ getMetricsStore() [1/4]

template<std::same_as< int > T>
static auto & o2::framework::DeviceMetricsHelper::getMetricsStore ( DeviceMetricsInfo metrics)
inlinestatic

Definition at line 62 of file DeviceMetricsHelper.h.

◆ getMetricsStore() [2/4]

template<std::same_as< float > T>
static auto & o2::framework::DeviceMetricsHelper::getMetricsStore ( DeviceMetricsInfo metrics)
inlinestatic

Definition at line 68 of file DeviceMetricsHelper.h.

◆ getMetricsStore() [3/4]

template<std::same_as< uint64_t > T>
static auto & o2::framework::DeviceMetricsHelper::getMetricsStore ( DeviceMetricsInfo metrics)
inlinestatic

Definition at line 74 of file DeviceMetricsHelper.h.

◆ getMetricsStore() [4/4]

template<std::same_as< int8_t > T>
static auto & o2::framework::DeviceMetricsHelper::getMetricsStore ( DeviceMetricsInfo metrics)
inlinestatic

Definition at line 80 of file DeviceMetricsHelper.h.

◆ getMetricType() [1/4]

template<std::same_as< int > T>
static auto o2::framework::DeviceMetricsHelper::getMetricType ( ) -> MetricType
inlinestatic

Definition at line 110 of file DeviceMetricsHelper.h.

◆ getMetricType() [2/4]

template<std::same_as< float > T>
static auto o2::framework::DeviceMetricsHelper::getMetricType ( ) -> MetricType
inlinestatic

Definition at line 116 of file DeviceMetricsHelper.h.

◆ getMetricType() [3/4]

template<std::same_as< uint64_t > T>
static auto o2::framework::DeviceMetricsHelper::getMetricType ( ) -> MetricType
inlinestatic

Definition at line 122 of file DeviceMetricsHelper.h.

◆ getMetricType() [4/4]

template<std::same_as< int8_t > T>
static auto o2::framework::DeviceMetricsHelper::getMetricType ( ) -> MetricType
inlinestatic

Definition at line 128 of file DeviceMetricsHelper.h.

◆ getNumericMetricCursor()

template<DeviceMetricNumericValue T>
static auto o2::framework::DeviceMetricsHelper::getNumericMetricCursor ( size_t  metricIndex)
inlinestatic

Definition at line 143 of file DeviceMetricsHelper.h.

◆ getTimestampsStore() [1/4]

template<std::same_as< int > T>
static auto & o2::framework::DeviceMetricsHelper::getTimestampsStore ( DeviceMetricsInfo metrics)
inlinestatic

Definition at line 86 of file DeviceMetricsHelper.h.

◆ getTimestampsStore() [2/4]

template<std::same_as< float > T>
static auto & o2::framework::DeviceMetricsHelper::getTimestampsStore ( DeviceMetricsInfo metrics)
inlinestatic

Definition at line 92 of file DeviceMetricsHelper.h.

◆ getTimestampsStore() [3/4]

template<std::same_as< uint64_t > T>
static auto & o2::framework::DeviceMetricsHelper::getTimestampsStore ( DeviceMetricsInfo metrics)
inlinestatic

Definition at line 98 of file DeviceMetricsHelper.h.

◆ getTimestampsStore() [4/4]

template<std::same_as< int8_t > T>
static auto & o2::framework::DeviceMetricsHelper::getTimestampsStore ( DeviceMetricsInfo metrics)
inlinestatic

Definition at line 104 of file DeviceMetricsHelper.h.

◆ metricIdxByName()

size_t o2::framework::DeviceMetricsHelper::metricIdxByName ( std::string_view const  name,
const DeviceMetricsInfo info 
)
static
Returns
the index in metrics for the information of given metric

Definition at line 541 of file DeviceMetricsHelper.cxx.

◆ parseMetric()

bool o2::framework::DeviceMetricsHelper::parseMetric ( std::string_view const  s,
ParsedMetricMatch results 
)
static

Helper function to parse a metric string.

Definition at line 55 of file DeviceMetricsHelper.cxx.

◆ processMetric()

bool o2::framework::DeviceMetricsHelper::processMetric ( ParsedMetricMatch results,
DeviceMetricsInfo info,
DeviceMetricsHelper::NewMetricCallback  newMetricsCallback = nullptr 
)
static

Processes a parsed metric and stores in the backend store.

@matches is the regexp_matches from the metric identifying regex @info is the DeviceInfo associated to the device posting the metric @newMetricsCallback is a callback that will be invoked every time a new metric is added to the list.

Definition at line 398 of file DeviceMetricsHelper.cxx.

◆ updateNumericInfo()

static auto o2::framework::DeviceMetricsHelper::updateNumericInfo ( DeviceMetricsInfo metrics,
size_t  metricIndex,
float  value,
size_t  timestamp 
)
inlinestatic

Definition at line 133 of file DeviceMetricsHelper.h.


The documentation for this struct was generated from the following files: