1 #ifndef ARTDAQ_TEST_DAQRATE_TRANSFERTEST_HH
2 #define ARTDAQ_TEST_DAQRATE_TRANSFERTEST_HH
9 #include "fhiclcpp/ParameterSet.h"
10 #include "artdaq-utilities/Plugins/MetricManager.hh"
37 explicit TransferTest(fhicl::ParameterSet psi, uint32_t key);
46 std::pair<size_t, double> do_sending();
48 std::pair<size_t, double> do_receiving();
51 const std::vector<std::string> suffixes{
" B",
" KB",
" MB",
" GB",
" TB"};
53 std::string formatBytes(
double bytes,
size_t suffixIndex = 0);
57 int sends_each_sender_;
58 int receives_each_receiver_;
60 size_t max_payload_size_;
61 std::chrono::steady_clock::time_point start_time_;
62 fhicl::ParameterSet ps_;
63 artdaq::MetricManager metricMan_;
67 inline std::string TransferTest::formatBytes(
double bytes,
size_t suffixIndex)
71 if (b > 1024.0 && suffixIndex < suffixes.size())
73 return formatBytes(bytes / 1024.0, suffixIndex + 1);
76 return std::to_string(bytes) + suffixes[suffixIndex];
79 #endif //ARTDAQ_TEST_DAQRATE_TRANSFERTEST_HH
int runTest()
Run the test as configured.
TransferTest(fhicl::ParameterSet psi, uint32_t key)
TransferTest Constructor.
Test a set of TransferInterface plugins.