36 num_timestamps(num_tses) {
37 assert(current_timestamp!=
nullptr);
41 latency_timestamps::
to_csv(
std::ostream &os)
const noexcept(
false) {
43 <<ppd::api_threading_traits<ppd::platform_api, ppd::sequential_mode>::demangle_name(
typeid(timer_t))
44 <<
",Number of entries,"<<size()
46 for (element_type
const * stamp=timestamps.get(); stamp!=current_timestamp; ++stamp) {
47 assert(std::less<element_type
const *>()(stamp, current_timestamp));
49 assert(stamp->is_valid());
57 if (num_timestamps>0) {
58 const std::string timings_filename(make_filename(root)+
".csv");
59 os<<
"Writing "<<size()<<
" latencies to '"<<timings_filename<<
"', (this might take some time)..."<<std::endl;
60 std::ofstream csv_file(timings_filename.c_str());
62 os<<
"... Written."<<
std::endl;
68 if (num_timestamps>0) {
69 const std::string timings_filename(base_filename+
".csv");
70 os<<
"Writing "<<size()<<
" latencies to '"<<timings_filename<<
"', (this might take some time)..."<<std::endl;
71 std::ofstream csv_file(timings_filename.c_str());
73 os<<
"... Written."<<
std::endl;