The MetricManager class handles loading metric plugins and asynchronously sending metric data to them. It is designed to be a "black hole" for metrics, taking as little time as possible so that metrics do not impact the data-taking performance. More...
#include <artdaq-utilities/Plugins/MetricManager.hh>
Public Member Functions | |
MetricManager () | |
Construct an instance of the MetricManager class. | |
MetricManager (MetricManager const &)=delete | |
Copy Constructor is deleted. | |
virtual | ~MetricManager () noexcept |
MetricManager destructor. More... | |
MetricManager & | operator= (MetricManager const &)=delete |
Copy Assignment operator is deleted. More... | |
void | initialize (fhicl::ParameterSet const &pset, std::string prefix="") |
Initialize the MetricPlugin instances. More... | |
void | do_start () |
Perform startup actions for each configured MetricPlugin. | |
void | do_stop () |
Stop sending metrics to the MetricPlugin instances. | |
void | do_pause () |
Pause metric sending. Currently a No-Op. | |
void | do_resume () |
Resume metric sending. Currently a No-Op. | |
void | reinitialize (fhicl::ParameterSet const &pset, std::string prefix="") |
Reinitialize all MetricPlugin Instances. More... | |
void | shutdown () |
Call the destructors for all configured MetricPlugin instances. | |
void | sendMetric (std::string const &name, std::string const &value, std::string const &unit, int level, bool accumulate=true, std::string const &metricPrefix="", bool useNameOverride=false) |
Send a metric with the given parameters to any MetricPlugins with a threshold level >= to level. More... | |
void | sendMetric (std::string const &name, int const &value, std::string const &unit, int level, bool accumulate=true, std::string const &metricPrefix="", bool useNameOverride=false) |
Send a metric with the given parameters to any MetricPlugins with a threshold level >= to level. More... | |
void | sendMetric (std::string const &name, double const &value, std::string const &unit, int level, bool accumulate=true, std::string const &metricPrefix="", bool useNameOverride=false) |
Send a metric with the given parameters to any MetricPlugins with a threshold level >= to level. More... | |
void | sendMetric (std::string const &name, float const &value, std::string const &unit, int level, bool accumulate=true, std::string const &metricPrefix="", bool useNameOverride=false) |
Send a metric with the given parameters to any MetricPlugins with a threshold level >= to level. More... | |
void | sendMetric (std::string const &name, long unsigned int const &value, std::string const &unit, int level, bool accumulate=true, std::string const &metricPrefix="", bool useNameOverride=false) |
Send a metric with the given parameters to any MetricPlugins with a threshold level >= to level. More... | |
void | setPrefix (std::string prefix) |
Sets the prefix prepended to all metrics without useNameOverride set. More... | |
The MetricManager class handles loading metric plugins and asynchronously sending metric data to them. It is designed to be a "black hole" for metrics, taking as little time as possible so that metrics do not impact the data-taking performance.
Definition at line 32 of file MetricManager.hh.
|
virtualnoexcept |
void artdaq::MetricManager::initialize | ( | fhicl::ParameterSet const & | pset, |
std::string | prefix = "" |
||
) |
Initialize the MetricPlugin instances.
pset | The ParameterSet used to configure the MetricPlugin instances |
prefix | The prefix to prepend to all metric names, unless useNameOverride is set to true |
The ParameterSet should be a collection of tables, each configuring a MetricPlugin. See the MetricPlugin documentation for how to configure a MetricPlugin.
Definition at line 28 of file MetricManager.cc.
|
delete |
Copy Assignment operator is deleted.
void artdaq::MetricManager::reinitialize | ( | fhicl::ParameterSet const & | pset, |
std::string | prefix = "" |
||
) |
Reinitialize all MetricPlugin Instances.
pset | ParameterSet used to configure the MetricPlugin instances |
prefix | Prefix to apply to Metric names |
Calls shutdown(), then initialize(pset, prefix).
Definition at line 107 of file MetricManager.cc.
void artdaq::MetricManager::sendMetric | ( | std::string const & | name, |
std::string const & | value, | ||
std::string const & | unit, | ||
int | level, | ||
bool | accumulate = true , |
||
std::string const & | metricPrefix = "" , |
||
bool | useNameOverride = false |
||
) |
Send a metric with the given parameters to any MetricPlugins with a threshold level >= to level.
name | The Name of the metric |
value | The value of the metric |
unit | The units of the metric |
level | The verbosity level of the metric. Higher number == more verbose |
accumulate | Whether to accumulate (average) over a reporting_interval, or directly report value to the metric storage |
metricPrefix | An additional prefix to prepend to the metric name |
useNameOverride | Whether to use name verbatim and not apply prefixes |
Definition at line 139 of file MetricManager.cc.
void artdaq::MetricManager::sendMetric | ( | std::string const & | name, |
int const & | value, | ||
std::string const & | unit, | ||
int | level, | ||
bool | accumulate = true , |
||
std::string const & | metricPrefix = "" , |
||
bool | useNameOverride = false |
||
) |
Send a metric with the given parameters to any MetricPlugins with a threshold level >= to level.
name | The Name of the metric |
value | The value of the metric |
unit | The units of the metric |
level | The verbosity level of the metric. Higher number == more verbose |
accumulate | Whether to accumulate (average) over a reporting_interval, or directly report value to the metric storage |
metricPrefix | An additional prefix to prepend to the metric name |
useNameOverride | Whether to use name verbatim and not apply prefixes |
Definition at line 154 of file MetricManager.cc.
void artdaq::MetricManager::sendMetric | ( | std::string const & | name, |
double const & | value, | ||
std::string const & | unit, | ||
int | level, | ||
bool | accumulate = true , |
||
std::string const & | metricPrefix = "" , |
||
bool | useNameOverride = false |
||
) |
Send a metric with the given parameters to any MetricPlugins with a threshold level >= to level.
name | The Name of the metric |
value | The value of the metric |
unit | The units of the metric |
level | The verbosity level of the metric. Higher number == more verbose |
accumulate | Whether to accumulate (average) over a reporting_interval, or directly report value to the metric storage |
metricPrefix | An additional prefix to prepend to the metric name |
useNameOverride | Whether to use name verbatim and not apply prefixes |
Definition at line 169 of file MetricManager.cc.
void artdaq::MetricManager::sendMetric | ( | std::string const & | name, |
float const & | value, | ||
std::string const & | unit, | ||
int | level, | ||
bool | accumulate = true , |
||
std::string const & | metricPrefix = "" , |
||
bool | useNameOverride = false |
||
) |
Send a metric with the given parameters to any MetricPlugins with a threshold level >= to level.
name | The Name of the metric |
value | The value of the metric |
unit | The units of the metric |
level | The verbosity level of the metric. Higher number == more verbose |
accumulate | Whether to accumulate (average) over a reporting_interval, or directly report value to the metric storage |
metricPrefix | An additional prefix to prepend to the metric name |
useNameOverride | Whether to use name verbatim and not apply prefixes |
Definition at line 184 of file MetricManager.cc.
void artdaq::MetricManager::sendMetric | ( | std::string const & | name, |
long unsigned int const & | value, | ||
std::string const & | unit, | ||
int | level, | ||
bool | accumulate = true , |
||
std::string const & | metricPrefix = "" , |
||
bool | useNameOverride = false |
||
) |
Send a metric with the given parameters to any MetricPlugins with a threshold level >= to level.
name | The Name of the metric |
value | The value of the metric |
unit | The units of the metric |
level | The verbosity level of the metric. Higher number == more verbose |
accumulate | Whether to accumulate (average) over a reporting_interval, or directly report value to the metric storage |
metricPrefix | An additional prefix to prepend to the metric name |
useNameOverride | Whether to use name verbatim and not apply prefixes |
Definition at line 199 of file MetricManager.cc.
|
inline |
Sets the prefix prepended to all metrics without useNameOverride set.
prefix | The prefix to prepend. Delimiter character in names is "." |
Definition at line 166 of file MetricManager.hh.