7 #define TRACE_NAME "TestMetric"
10 #include "artdaq-utilities/Plugins/MetricMacros.hh"
12 #include "fhiclcpp/ParameterSet.h"
14 #include <sys/types.h>
31 explicit TestMetricImpl(fhicl::ParameterSet
const& config, std::string
const& app_name)
49 std::string
getLibName()
const override {
return "test"; }
58 void sendMetric_(
const std::string& name,
const std::string& value,
const std::string& unit,
const std::chrono::system_clock::time_point& time)
override
63 TLOG(TLVL_TRACE) <<
"TestMetric: Adding MetricPoint name=" << name <<
", value=" << value <<
", unit=" << unit;
76 void sendMetric_(
const std::string& name,
const int& value,
const std::string& unit,
const std::chrono::system_clock::time_point& time)
override
78 sendMetric_(name, std::to_string(value), unit, time);
88 void sendMetric_(
const std::string& name,
const double& value,
const std::string& unit,
const std::chrono::system_clock::time_point& time)
override
90 sendMetric_(name, std::to_string(value), unit, time);
100 void sendMetric_(
const std::string& name,
const float& value,
const std::string& unit,
const std::chrono::system_clock::time_point& time)
override
102 sendMetric_(name, std::to_string(value), unit, time);
112 void sendMetric_(
const std::string& name,
const uint64_t& value,
const std::string& unit,
const std::chrono::system_clock::time_point& time)
override
114 sendMetric_(name, std::to_string(value), unit, time);
TestMetricImpl(fhicl::ParameterSet const &config, std::string const &app_name)
TestMetric Constructor.
void startMetrics_() override
Perform startup actions.
void sendMetric_(const std::string &name, const uint64_t &value, const std::string &unit, const std::chrono::system_clock::time_point &time) override
Write metric data to memory.
The MetricPlugin class defines the interface that MetricManager uses to send metric data to the vario...
void startMetrics()
Perform startup actions. Simply calls the virtual startMetrics_ function.
void sendMetric_(const std::string &name, const double &value, const std::string &unit, const std::chrono::system_clock::time_point &time) override
Write metric data to memory.
static void LockReceivedMetricMutex()
Lock the ReceivedMetricMutex
static std::list< MetricPoint > received_metrics
List of received metric data.
std::string getLibName() const override
Get the library name for the Test metric.
void stopMetrics()
Perform shutdown actions. Zeroes out all accumulators, and sends zeros for each metric. Calls stopMetrics_() for any plugin-defined shutdown actions.
TestMetric writes metric data to a statically-allocated memory block.
void sendMetric_(const std::string &name, const std::string &value, const std::string &unit, const std::chrono::system_clock::time_point &time) override
Write metric data to memory.
void sendMetric_(const std::string &name, const float &value, const std::string &unit, const std::chrono::system_clock::time_point &time) override
Write metric data to memory.
static void UnlockReceivedMetricMutex()
Unlock the ReceivedMetricMutex
void stopMetrics_() override
Perform shutdown actions.
bool inhibit_
Flag to indicate that the MetricPlugin is being stopped, and any metric back-ends which do not have a...
~TestMetricImpl() override
TestMetricImpl Destructor. Calls stopMetrics.
void sendMetric_(const std::string &name, const int &value, const std::string &unit, const std::chrono::system_clock::time_point &time) override
Write metric data to memory.
Describes a single metric point