The MetricPlugin class defines the interface that MetricManager uses to send metric data to the various metric plugins.
More...
#include <artdaq-utilities/Plugins/MetricPlugin.hh>
|
| MetricPlugin (fhicl::ParameterSet const &ps, std::string const &app_name) |
| MetricPlugin Constructor. More...
|
|
virtual | ~MetricPlugin ()=default |
| Default virtual Desctructor.
|
|
virtual std::string | getLibName () const |
| Return the name of the current MetricPlugin instance.
|
|
void | addMetricData (MetricData data) |
| Send a metric value to the MetricPlugin. More...
|
|
void | sendMetrics (bool forceSend=false, std::chrono::steady_clock::time_point interval_end=std::chrono::steady_clock::now()) |
| For each known metric, determine whether the reporting interval has elapsed, and if so, report a value to the underlying metric storage. More...
|
|
void | startMetrics () |
| Perform startup actions. Simply calls the virtual startMetrics_ function.
|
|
void | stopMetrics () |
| Perform shutdown actions. Zeroes out all accumulators, and sends zeros for each metric. Calls stopMetrics_() for any plugin-defined shutdown actions.
|
|
void | setRunLevel (int level) |
| Set the threshold for sending metrics to the underlying storage. More...
|
|
int | getRunLevel () const |
| Get the threshold for sending metrics to the underlying storage. More...
|
|
|
virtual void | sendMetric_ (const std::string &name, const std::string &value, const std::string &unit)=0 |
| Send a metric to the underlying metric storage (file, Graphite, Ganglia, etc.) More...
|
|
virtual void | sendMetric_ (const std::string &name, const int &value, const std::string &unit)=0 |
| Send a metric to the underlying metric storage (file, Graphite, Ganglia, etc.) More...
|
|
virtual void | sendMetric_ (const std::string &name, const double &value, const std::string &unit)=0 |
| Send a metric to the underlying metric storage (file, Graphite, Ganglia, etc.) More...
|
|
virtual void | sendMetric_ (const std::string &name, const float &value, const std::string &unit)=0 |
| Send a metric to the underlying metric storage (file, Graphite, Ganglia, etc.) More...
|
|
virtual void | sendMetric_ (const std::string &name, const long unsigned int &value, const std::string &unit)=0 |
| Send a metric to the underlying metric storage (file, Graphite, Ganglia, etc.) More...
|
|
virtual void | startMetrics_ ()=0 |
| Perform any start-up actions necessary for the metric plugin. More...
|
|
virtual void | stopMetrics_ ()=0 |
| Perform any shutdown actions necessary for the metric plugin. More...
|
|
|
int | runLevel_ |
| The threshold for sending metrics to the underlying storage. Metrics with level <= to runLevel_ will be sent.
|
|
fhicl::ParameterSet | pset |
| The ParameterSet used to configure the MetricPlugin.
|
|
double | accumulationTime_ |
| The amount of time to average metric values; except for accumulate=false metrics, will be the interval at which each metric is sent.
|
|
std::string | app_name_ |
| Name of the application which is sending metrics to this plugin.
|
|
bool | inhibit_ |
| Whether to inhibit all metric sending.
|
|
The MetricPlugin class defines the interface that MetricManager uses to send metric data to the various metric plugins.
Definition at line 32 of file MetricPlugin.hh.
artdaq::MetricPlugin::MetricPlugin |
( |
fhicl::ParameterSet const & |
ps, |
|
|
std::string const & |
app_name |
|
) |
| |
|
inlineexplicit |
MetricPlugin Constructor.
- Parameters
-
ps | The ParameterSet used to configure this MetricPlugin instance |
* MetricPlugin accepts the following parameters:
* "metricPluginType": The name of the plugin to load
* "level" (Default: 0): The verbosity level of the metric plugin. Higher number = fewer metrics sent to the metric storage
* "reporting_interval" (Default: 15.0): The interval, in seconds, which the metric plugin will accumulate values for.
* Calling sendMetric with the accumulate parameter set to false will bypass this accumulation and directly send the
* metric. String metrics cannot be accumulated.
*
Definition at line 58 of file MetricPlugin.hh.
void artdaq::MetricPlugin::addMetricData |
( |
MetricData |
data | ) |
|
|
inline |
int artdaq::MetricPlugin::getRunLevel |
( |
| ) |
const |
|
inline |
Get the threshold for sending metrics to the underlying storage.
- Returns
- The threshold for sending metrics to the underlying storage. Metrics with level <= to runLevel_ will be sent.
Definition at line 340 of file MetricPlugin.hh.
virtual void artdaq::MetricPlugin::sendMetric_ |
( |
const std::string & |
name, |
|
|
const std::string & |
value, |
|
|
const std::string & |
unit |
|
) |
| |
|
protectedpure virtual |
virtual void artdaq::MetricPlugin::sendMetric_ |
( |
const std::string & |
name, |
|
|
const int & |
value, |
|
|
const std::string & |
unit |
|
) |
| |
|
protectedpure virtual |
virtual void artdaq::MetricPlugin::sendMetric_ |
( |
const std::string & |
name, |
|
|
const double & |
value, |
|
|
const std::string & |
unit |
|
) |
| |
|
protectedpure virtual |
virtual void artdaq::MetricPlugin::sendMetric_ |
( |
const std::string & |
name, |
|
|
const float & |
value, |
|
|
const std::string & |
unit |
|
) |
| |
|
protectedpure virtual |
virtual void artdaq::MetricPlugin::sendMetric_ |
( |
const std::string & |
name, |
|
|
const long unsigned int & |
value, |
|
|
const std::string & |
unit |
|
) |
| |
|
protectedpure virtual |
Send a metric to the underlying metric storage (file, Graphite, Ganglia, etc.)
- Parameters
-
name | Name of the metric |
value | Value of the metric |
unit | Units for the metric |
Note this is a pure virtual function, it should be overridden by implementation plugins
void artdaq::MetricPlugin::sendMetrics |
( |
bool |
forceSend = false , |
|
|
std::chrono::steady_clock::time_point |
interval_end = std::chrono::steady_clock::now() |
|
) |
| |
|
inline |
For each known metric, determine whether the reporting interval has elapsed, and if so, report a value to the underlying metric storage.
- Parameters
-
forceSend | (Default = false): Force sending metrics, even if reporting interval has not elapsed |
Definition at line 177 of file MetricPlugin.hh.
void artdaq::MetricPlugin::setRunLevel |
( |
int |
level | ) |
|
|
inline |
Set the threshold for sending metrics to the underlying storage.
- Parameters
-
level | The new threshold for sending metrics to the underlying storage. Metrics with level <= to runLevel_ will be sent. |
Definition at line 335 of file MetricPlugin.hh.
virtual void artdaq::MetricPlugin::startMetrics_ |
( |
| ) |
|
|
protectedpure virtual |
virtual void artdaq::MetricPlugin::stopMetrics_ |
( |
| ) |
|
|
protectedpure virtual |
The documentation for this class was generated from the following file: