Skip to content

Commit b7f8d1b

Browse files
committed
Benchmark changed for monitroing tests
1 parent 439276d commit b7f8d1b

File tree

1 file changed

+23
-24
lines changed

1 file changed

+23
-24
lines changed

examples/5-Benchmark.cxx

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3,55 +3,54 @@
33
/// \author Adam Wegrzynek <[email protected]>
44
///
55

6-
#include <boost/program_options.hpp>
76
#include "Monitoring/MonitoringFactory.h"
7+
#include <boost/program_options.hpp>
8+
#include <random>
89

910
using Monitoring = AliceO2::Monitoring::MonitoringFactory;
1011

1112
int main(int argc, char *argv[]) {
1213
int sleep = 1000000;
13-
int i = std::numeric_limits<int>::max() - 1;
14-
std::string metric = "myCrazyMetric";
15-
std::string config = "/home/awegrzyn/hackathon/Monitoring/examples/SampleConfig.ini";
14+
std::string stringMetric = "stringMetric";
15+
std::string doubleMetric = "doubleMetric";
16+
std::string intMetric = "intMetric";
17+
18+
std::random_device rd;
19+
std::mt19937 mt(rd());
20+
21+
std::uniform_real_distribution<double> doubleDist(1.0, 100.0);
22+
std::uniform_int_distribution<> intDist(1, 100);
23+
24+
double doubleValue = doubleDist(mt);
25+
std::string stringValue = "sampleString" + std::to_string(intDist(mt));
26+
int intValue = intDist(mt);
1627

1728
boost::program_options::options_description desc("Allowed options");
1829
desc.add_options()
19-
("metric", boost::program_options::value<std::string>(), "Metric name")
2030
("sleep", boost::program_options::value<int>(), "Thread sleep in microseconds")
21-
("count", boost::program_options::value<int>(), "Number of metrics to be sent")
22-
("config", boost::program_options::value<std::string>(), "Config file path")
31+
("config", boost::program_options::value<std::string>()->required(), "Config file path")
2332
;
2433

2534
boost::program_options::variables_map vm;
2635
boost::program_options::store(boost::program_options::parse_command_line(argc, argv, desc), vm);
2736
boost::program_options::notify(vm);
2837

29-
if (vm.count("metric")) {
30-
metric = vm["metric"].as<std::string>();
31-
}
32-
3338
if (vm.count("sleep")) {
3439
sleep = vm["sleep"].as<int>();
3540
}
3641

37-
if (vm.count("count")) {
38-
i = vm["count"].as<int>();
39-
}
40-
41-
if (vm.count("config")) {
42-
config = vm["config"].as<std::string>();
43-
}
44-
4542
try {
4643
// configure monitoring (once per process), pass configuration path as parameter
47-
Monitoring::Configure("file://" + config);
44+
Monitoring::Configure("file://" + vm["config"].as<std::string>());
4845
} catch (std::string &e) {
49-
std::cout << "Run you examples from 'build' (dev) or 'bin' (install) direcotry\n";
50-
std::cout << e << std::endl;
46+
std::cout << "Configuration file not found.\n" << e << std::endl;
47+
std::exit(EXIT_FAILURE);
5148
}
5249

53-
for (; i > 0; i--) {
54-
Monitoring::Get().send(10, metric);
50+
for (;;) {
51+
Monitoring::Get().send(stringValue, stringMetric);
52+
Monitoring::Get().send(doubleValue, doubleMetric);
53+
Monitoring::Get().send(intValue, intMetric);
5554
std::this_thread::sleep_for(std::chrono::microseconds(sleep));
5655
}
5756
}

0 commit comments

Comments
 (0)