artdaq_utilities  v1_04_10
artdaq::GraphiteMetric Class Reference

Send a metric to Graphite. More...

Inheritance diagram for artdaq::GraphiteMetric:
artdaq::MetricPlugin

Public Member Functions

 GraphiteMetric (fhicl::ParameterSet const &config, std::string const &app_name)
 GraphiteMetric Constructor. More...
 
virtual ~GraphiteMetric ()
 GraphiteMetric Destructor. Calls stopMetrics()
 
std::string getLibName () const override
 Get the library name for the Graphite metric. More...
 
void sendMetric_ (const std::string &name, const std::string &value, const std::string &) override
 Send a metric to Graphite. More...
 
void sendMetric_ (const std::string &name, const int &value, const std::string &unit) override
 Send a metric to Graphite. More...
 
void sendMetric_ (const std::string &name, const double &value, const std::string &unit) override
 Send a metric to Graphite. More...
 
void sendMetric_ (const std::string &name, const float &value, const std::string &unit) override
 Send a metric to Graphite. More...
 
void sendMetric_ (const std::string &name, const unsigned long int &value, const std::string &unit) override
 Send a metric to Graphite. More...
 
void startMetrics_ () override
 Perform startup actions. For Graphite, this means reconnecting the socket.
 
void stopMetrics_ () override
 Perform shutdown actions. This shuts down the socket and closes it.
 
- Public Member Functions inherited from artdaq::MetricPlugin
 MetricPlugin (fhicl::ParameterSet const &ps, std::string const &app_name)
 
void addMetricData (std::unique_ptr< MetricData > const &data)
 
void sendMetrics (bool forceSend=false, std::chrono::steady_clock::time_point interval_end=std::chrono::steady_clock::now())
 
void startMetrics ()
 
void stopMetrics ()
 
void setRunLevel (int level)
 
int getRunLevel () const
 

Additional Inherited Members

- Public Types inherited from artdaq::MetricPlugin
using Parameters = fhicl::WrappedTable< Config >
 
- Protected Member Functions inherited from artdaq::MetricPlugin
virtual void sendMetric_ (const std::string &name, const long unsigned int &value, const std::string &unit)=0
 
- Protected Attributes inherited from artdaq::MetricPlugin
int runLevel_
 
fhicl::ParameterSet pset
 The ParameterSet used to configure the MetricPlugin.
 
double accumulationTime_
 
std::string app_name_
 Name of the application which is sending metrics to this plugin.
 
bool inhibit_
 Whether to inhibit all metric sending.
 

Detailed Description

Send a metric to Graphite.

Graphite accepts metrics in a tree hiereachy, using '.' as a delimiter. Therefore, the metric artdaq.BoardReader.Fragment_Rate will appear in Graphite as: artdaq/ BoardReader/ Fragment_Rate

This plugin sends TCP messages with the following content: [name] [value] [timestamp], units are discarded

Definition at line 32 of file graphite_metric.cc.

Constructor & Destructor Documentation

artdaq::GraphiteMetric::GraphiteMetric ( fhicl::ParameterSet const &  config,
std::string const &  app_name 
)
inlineexplicit

GraphiteMetric Constructor.

Parameters
configParameterSet used to configure GraphiteMetric
app_nameName of the application sending metrics
* GraphiteMetric accepts the following Parameters:
* "host" (Default: "localhost"): Destination host
* "port" (Default: 2003): Destination port
* "namespace" (Default: "artdaq."): Directory name to prepend to all metrics. Should include the trailing '.'
* 

Definition at line 56 of file graphite_metric.cc.

Member Function Documentation

std::string artdaq::GraphiteMetric::getLibName ( ) const
inlineoverridevirtual

Get the library name for the Graphite metric.

Returns
The library name for the Graphite metric, "graphite"

Reimplemented from artdaq::MetricPlugin.

Definition at line 77 of file graphite_metric.cc.

void artdaq::GraphiteMetric::sendMetric_ ( const std::string &  name,
const std::string &  value,
const std::string &   
)
inlineoverridevirtual

Send a metric to Graphite.

Parameters
nameName of the metric. Will have the namespace prepended
valueValue of the metric

Implements artdaq::MetricPlugin.

Definition at line 84 of file graphite_metric.cc.

void artdaq::GraphiteMetric::sendMetric_ ( const std::string &  name,
const int &  value,
const std::string &  unit 
)
inlineoverridevirtual

Send a metric to Graphite.

Parameters
nameName of the metric. Will have the namespace prepended
valueValue of the metric
unitUnits of the metric (Not used)

Implements artdaq::MetricPlugin.

Definition at line 113 of file graphite_metric.cc.

void artdaq::GraphiteMetric::sendMetric_ ( const std::string &  name,
const double &  value,
const std::string &  unit 
)
inlineoverridevirtual

Send a metric to Graphite.

Parameters
nameName of the metric. Will have the namespace prepended
valueValue of the metric
unitUnits of the metric (Not used)

Implements artdaq::MetricPlugin.

Definition at line 124 of file graphite_metric.cc.

void artdaq::GraphiteMetric::sendMetric_ ( const std::string &  name,
const float &  value,
const std::string &  unit 
)
inlineoverridevirtual

Send a metric to Graphite.

Parameters
nameName of the metric. Will have the namespace prepended
valueValue of the metric
unitUnits of the metric (Not used)

Implements artdaq::MetricPlugin.

Definition at line 135 of file graphite_metric.cc.

void artdaq::GraphiteMetric::sendMetric_ ( const std::string &  name,
const unsigned long int &  value,
const std::string &  unit 
)
inlineoverride

Send a metric to Graphite.

Parameters
nameName of the metric. Will have the namespace prepended
valueValue of the metric
unitUnits of the metric (Not used)

Definition at line 146 of file graphite_metric.cc.


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