From a2168edfd0d9c2332d17f730748238ba47cdde7c Mon Sep 17 00:00:00 2001 From: Andrej Babic Date: Tue, 28 Apr 2020 09:03:00 +0200 Subject: [PATCH] Make statistics more homogeneous and use the new STATS_MODULO config parameter --- sf-buffer/src/sf_buffer.cpp | 22 +++++++++++----------- sf-buffer/src/sf_replay.cpp | 2 +- sf-buffer/src/sf_writer.cpp | 17 ++++++++--------- 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/sf-buffer/src/sf_buffer.cpp b/sf-buffer/src/sf_buffer.cpp index b73610e..5515f9f 100644 --- a/sf-buffer/src/sf_buffer.cpp +++ b/sf-buffer/src/sf_buffer.cpp @@ -34,8 +34,8 @@ int main (int argc, char *argv[]) { UdpRecvModule udp_module(ring_buffer); udp_module.start_recv(udp_port, JUNGFRAU_DATA_BYTES_PER_FRAME); - uint64_t n_stat_out(0); - uint64_t n_frames_with_missing_packets = 0; + uint64_t stats_counter(0); + uint64_t n_missed_packets = 0; uint64_t n_missed_frames = 0; uint64_t last_pulse_id = 0; @@ -81,10 +81,10 @@ int main (int argc, char *argv[]) { ring_buffer.release(data.first->buffer_slot_index); // TODO: Make real statistics, please. - n_stat_out++; + stats_counter++; if (data.first->n_recv_packets < JUNGFRAU_N_PACKETS_PER_FRAME) { - n_frames_with_missing_packets += + n_missed_packets += JUNGFRAU_N_PACKETS_PER_FRAME - data.first->n_recv_packets; } @@ -93,16 +93,16 @@ int main (int argc, char *argv[]) { } last_pulse_id = pulse_id; - if (n_stat_out == 500) { - cout << "device_name " << device_name; - cout << " pulse_id " << pulse_id; - cout << " n_missed_frames " << n_missed_frames; - cout << " f_with_miss_p " << n_frames_with_missing_packets; + if (stats_counter == STATS_MODULO) { + cout << "sf_buffer:device_name " << device_name; + cout << " sf_buffer:pulse_id " << pulse_id; + cout << " sf_buffer:n_missed_frames " << n_missed_frames; + cout << " sf_buffer:n_missed_packets " << n_missed_packets; cout << endl; - n_stat_out = 0; - n_frames_with_missing_packets = 0; + stats_counter = 0; + n_missed_packets = 0; n_missed_frames = 0; } } diff --git a/sf-buffer/src/sf_replay.cpp b/sf-buffer/src/sf_replay.cpp index 013c937..f081303 100644 --- a/sf-buffer/src/sf_replay.cpp +++ b/sf-buffer/src/sf_replay.cpp @@ -129,7 +129,7 @@ void sf_replay ( auto ms_duration = chrono::duration_cast( end_time-start_time).count(); - cout << "read_ms " << ms_duration << endl; + cout << "sf_replay:batch_read_ms " << ms_duration << endl; for (size_t i_frame=0; i_frame < REPLAY_BLOCK_SIZE; i_frame++) { diff --git a/sf-buffer/src/sf_writer.cpp b/sf-buffer/src/sf_writer.cpp index 1e6be10..aa3aa20 100644 --- a/sf-buffer/src/sf_writer.cpp +++ b/sf-buffer/src/sf_writer.cpp @@ -154,8 +154,7 @@ int main (int argc, char *argv[]) SFWriter writer(output_file, n_frames, n_modules); // TODO: Remove stats trash. - int i_write = 0; - int I_WRITE_MODULO = 1; + int stats_counter = 0; size_t read_total_ms = 0; size_t write_total_ms = 0; @@ -199,7 +198,7 @@ int main (int argc, char *argv[]) ring_buffer.release(metadata->buffer_slot_index); current_pulse_id++; - i_write++; + stats_counter++; auto write_end_time = chrono::steady_clock::now(); @@ -222,15 +221,15 @@ int main (int argc, char *argv[]) write_max_ms = write_ms_duration; } - if (i_write==I_WRITE_MODULO) { - cout << "read_ms " << read_total_ms / I_WRITE_MODULO; - cout << " read_max_ms " << read_max_ms; - cout << " write_ms " << write_total_ms / I_WRITE_MODULO; - cout << " write_max_ms " << write_max_ms; + if (stats_counter == STATS_MODULO) { + cout << "sf_writer:read_ms " << read_total_ms / STATS_MODULO; + cout << " sf_writer:read_max_ms " << read_max_ms; + cout << " sf_writer:write_ms " << write_total_ms / STATS_MODULO; + cout << " sf_writer:write_max_ms " << write_max_ms; cout << endl; - i_write = 0; + stats_counter = 0; read_total_ms = 0; read_max_ms = 0; write_total_ms = 0;