artdaq  v3_08_00
simple_metric_sender.cc
1 #include <iostream>
2 #include "artdaq-utilities/Plugins/MetricManager.hh"
3 #include "artdaq/Application/LoadParameterSet.hh"
4 #include "fhiclcpp/types/TableFragment.h"
5 
9 struct Config
10 {
11  fhicl::TableFragment<artdaq::MetricManager::Config> metricmanager_config;
12 };
13 
14 int main(int argc, char* argv[])
15 {
16  auto config_ps = LoadParameterSet<Config>(argc, argv, "simple_metric_sender", "A simple application that can be used to send artdaq Metrics from the command line.");
17  artdaq::MetricManager mm;
18  mm.initialize(config_ps, config_ps.get<std::string>("application_name", "SimpleMetric"));
19  mm.do_start();
20 
21  int level = config_ps.get<int>("metric_level", 1);
22 
23  std::cout << "Enter metrics in <name> <value> <units> format. Ctrl-D to end" << std::endl;
24  std::string name, unit;
25  double value;
26  while (std::cin >> name >> value >> unit)
27  {
28  mm.sendMetric(name, value, unit, level, artdaq::MetricMode::LastPoint);
29  }
30 
31  mm.do_stop();
32 }
fhicl::TableFragment< artdaq::MetricManager::Config > metricmanager_config
Configuration for MetricManager.
Configuration for simple_metric_sender.