Skip to content

Commit b440b77

Browse files
authored
Extend monitoring benchmark with FLP tags (#173)
1 parent 1980df4 commit b440b77

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

examples/5-Benchmark.cxx

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@
77
#include <boost/program_options.hpp>
88
#include <random>
99

10-
using Monitoring = o2::monitoring::MonitoringFactory;
1110
using o2::monitoring::Metric;
11+
using namespace o2::monitoring;
1212

1313
int main(int argc, char* argv[])
1414
{
1515
int sleep = 1000000;
1616
int count = 1;
1717
int measurements = 1;
18+
int flps = 1;
1819

1920
std::srand(std::time(nullptr));
2021

@@ -25,12 +26,16 @@ int main(int argc, char* argv[])
2526
std::uniform_int_distribution<> intDist(1, 100);
2627

2728
boost::program_options::options_description desc("Allowed options");
28-
desc.add_options()("sleep", boost::program_options::value<int>(), "Thread sleep in microseconds")("url", boost::program_options::value<std::string>()->required(), "URL to monitoring backend (or list of comma seperated URLs)")("id", boost::program_options::value<std::string>(), "Instance ID")("count", boost::program_options::value<int>(), "Number of loop cycles")("multiple", boost::program_options::bool_switch()->default_value(false), "Sends multiple metrics per measurement")("latency", boost::program_options::bool_switch()->default_value(false), "Sends timestamp as a value")("monitor", boost::program_options::bool_switch()->default_value(false), "Enabled process monitor")("buffer", boost::program_options::value<int>(), "Creates buffr of given size")("measurements", boost::program_options::value<int>(), "Number of different measurements");
29+
desc.add_options()("sleep", boost::program_options::value<int>(), "Thread sleep in microseconds")("url", boost::program_options::value<std::string>()->required(), "URL to monitoring backend (or list of comma seperated URLs)")("id", boost::program_options::value<std::string>(), "Instance ID")("count", boost::program_options::value<int>(), "Number of loop cycles")("multiple", boost::program_options::bool_switch()->default_value(false), "Sends multiple metrics per measurement")("latency", boost::program_options::bool_switch()->default_value(false), "Sends timestamp as a value")("monitor", boost::program_options::bool_switch()->default_value(false), "Enabled process monitor")("buffer", boost::program_options::value<int>(), "Creates buffr of given size")("measurements", boost::program_options::value<int>(), "Number of different measurements")("flps", boost::program_options::value<int>(), "Number of FLPs (tags)");
2930

3031
boost::program_options::variables_map vm;
3132
boost::program_options::store(boost::program_options::parse_command_line(argc, argv, desc), vm);
3233
boost::program_options::notify(vm);
3334

35+
if (vm.count("flps")) {
36+
flps = vm["flps"].as<int>();
37+
}
38+
3439
if (vm.count("sleep")) {
3540
sleep = vm["sleep"].as<int>();
3641
}
@@ -43,7 +48,7 @@ int main(int argc, char* argv[])
4348
measurements = vm["measurements"].as<int>();
4449
}
4550

46-
auto monitoring = Monitoring::Get(vm["url"].as<std::string>());
51+
auto monitoring = MonitoringFactory::Get(vm["url"].as<std::string>());
4752
if (vm["monitor"].as<bool>()) {
4853
monitoring->enableProcessMonitoring(1);
4954
}
@@ -76,9 +81,12 @@ int main(int argc, char* argv[])
7681
}
7782
for (int j = 1; j <= count; j++) {
7883
for (int i = 1; i <= measurements; i++) {
79-
monitoring->send({doubleDist(mt), "doubleMetric" + std::to_string(i)});
80-
monitoring->send({intDist(mt), "intMetric" + std::to_string(i)});
81-
monitoring->send({std::rand() % 2, "onOffMetric" + std::to_string(i)});
84+
for (int k = 1; k <= flps; k++) {
85+
monitoring->send(Metric{doubleDist(mt), "doubleMetric" + std::to_string(i)}.addTag(tags::Key::FLP, k));
86+
monitoring->send(Metric{intDist(mt), "intMetric" + std::to_string(i)}.addTag(tags::Key::FLP, k));
87+
monitoring->send(Metric{std::rand() % 2, "onOffMetric" + std::to_string(i)}.addTag(tags::Key::FLP, k));
88+
std::this_thread::sleep_for(std::chrono::microseconds(10));
89+
}
8290
std::this_thread::sleep_for(std::chrono::microseconds(sleep));
8391
}
8492
if (!vm.count("count"))

0 commit comments

Comments
 (0)