artdaq::ProcFileMetric Class Reference

A MetricPlugin which writes a long unsigned int metric with a given name to a given pipe. More...

Inheritance diagram for artdaq::ProcFileMetric:
artdaq::MetricPlugin

List of all members.

Public Member Functions

 ProcFileMetric (fhicl::ParameterSet const &config, std::string const &app_name)
 ProcFileMetric Constructor.
 ~ProcFileMetric ()
 ProcFileMetric Destructor.
std::string getLibName () const override
 Get the "library name" of this Metric.
void sendMetric_ (const std::string &name, const std::string &value, const std::string &) override
 Set the value to be written to the pipe when it is opened by a reader.
void sendMetric_ (const std::string &name, const int &value, const std::string &unit) override
 Set the value to be written to the pipe when it is opened by a reader.
void sendMetric_ (const std::string &name, const double &value, const std::string &unit) override
 Set the value to be written to the pipe when it is opened by a reader.
void sendMetric_ (const std::string &name, const float &value, const std::string &unit) override
 Set the value to be written to the pipe when it is opened by a reader.
void sendMetric_ (const std::string &name, const unsigned long int &value, const std::string &unit) override
 Set the value to be written to the pipe when it is opened by a reader.
void startMetrics_ () override
 Start the metric-sending thread.
void stopMetrics_ () override
 Open the pipe for reading to allow the metric-sending thread to end gracefully.
void writePipe ()
 Wait for the pipe to be opened and then write the current value to it.

Detailed Description

A MetricPlugin which writes a long unsigned int metric with a given name to a given pipe.

This MetricPlugin emulates the function of the /proc file system, where the kernel provides access to various counters and parameters.

Definition at line 24 of file procFile_metric.cc.


Constructor & Destructor Documentation

artdaq::ProcFileMetric::ProcFileMetric ( fhicl::ParameterSet const &  config,
std::string const &  app_name 
) [inline, explicit]

ProcFileMetric Constructor.

Parameters:
config FHiCL ParameterSet used to configure the ProcFileMetric
app_name Name of the application sending metrics
		 * ProcFileMetric accepts the following Parameters (in addition to those accepted by MetricPlugin):
		 * "pipe": Name of pipe virtual file to write to
		 * "name": Name of the metric to write to pipe
		 * 

Definition at line 43 of file procFile_metric.cc.


Member Function Documentation

std::string artdaq::ProcFileMetric::getLibName (  )  const [inline, override, virtual]

Get the "library name" of this Metric.

Returns:
The library name of this metric, "procFile"

Reimplemented from artdaq::MetricPlugin.

Definition at line 73 of file procFile_metric.cc.

void artdaq::ProcFileMetric::sendMetric_ ( const std::string &  name,
const unsigned long int &  value,
const std::string &  unit 
) [inline, override]

Set the value to be written to the pipe when it is opened by a reader.

Parameters:
name Name of the metric. Must match configred name for value to be updated (This MetricPlugin should be used with the useNameOverride parameter!)
value Value of the metric.
unit Units of the metric.

Definition at line 123 of file procFile_metric.cc.

void artdaq::ProcFileMetric::sendMetric_ ( const std::string &  name,
const float &  value,
const std::string &  unit 
) [inline, override, virtual]

Set the value to be written to the pipe when it is opened by a reader.

Parameters:
name Name of the metric. Must match configred name for value to be updated (This MetricPlugin should be used with the useNameOverride parameter!)
value Value of the metric.
unit Units of the metric.

Implements artdaq::MetricPlugin.

Definition at line 113 of file procFile_metric.cc.

void artdaq::ProcFileMetric::sendMetric_ ( const std::string &  name,
const double &  value,
const std::string &  unit 
) [inline, override, virtual]

Set the value to be written to the pipe when it is opened by a reader.

Parameters:
name Name of the metric. Must match configred name for value to be updated (This MetricPlugin should be used with the useNameOverride parameter!)
value Value of the metric.
unit Units of the metric.

Implements artdaq::MetricPlugin.

Definition at line 103 of file procFile_metric.cc.

void artdaq::ProcFileMetric::sendMetric_ ( const std::string &  name,
const int &  value,
const std::string &  unit 
) [inline, override, virtual]

Set the value to be written to the pipe when it is opened by a reader.

Parameters:
name Name of the metric. Must match configred name for value to be updated (This MetricPlugin should be used with the useNameOverride parameter!)
value Value of the metric.
unit Units of the metric.

Implements artdaq::MetricPlugin.

Definition at line 93 of file procFile_metric.cc.

void artdaq::ProcFileMetric::sendMetric_ ( const std::string &  name,
const std::string &  value,
const std::string &   
) [inline, override, virtual]

Set the value to be written to the pipe when it is opened by a reader.

Parameters:
name Name of the metric. Must match configred name for value to be updated (This MetricPlugin should be used with the useNameOverride parameter!)
value Value of the metric.

Implements artdaq::MetricPlugin.

Definition at line 80 of file procFile_metric.cc.


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

Generated on 4 Feb 2019 for artdaq_utilities by  doxygen 1.6.1