Commit 488c0671 authored by Joanne Hugé's avatar Joanne Hugé

Add histogram printing for RTT

parent 81f06fbd
......@@ -250,6 +250,9 @@ static void do_tsn_task(struct thread_param *param, uint64_t next_txtime) {
clock_gettime(CLOCK_MONOTONIC, &t2);
param->stats.rtt = calcdiff_ns(t2, t1);
if(enable_histograms)
histograms[0][param->stats.rtt]++;
}
}
......@@ -258,6 +261,7 @@ static void print_histograms() {
uint64_t duration;
int duration_hour, duration_minutes, interval;
int max_hist_val, nb_hists;
clock_gettime(CLOCK_MONOTONIC, &measures_end);
......@@ -267,27 +271,41 @@ static void print_histograms() {
interval = param->interval / 1000;
printf("{\"measure_sets\": [{"
"\"measure_type\": \"packet_send_timestamps\","
"\"props_names\": [\"user_space\", \"kernel_space\"],"
"\"units\": [\"us\", \"us\"],"
"\"props_type\": \"histogram\","
"\"metadata\": {"
"\"i\": \"%dus\", \"duration\": \"%dh%d\""
"},"
"\"props\": [", interval, duration_hour, duration_minutes);
int max_hist_val = 0;
for (int i = 0; i < 2; i++)
if(tsn_task == SEND_PACKET_TASK) {
printf("{\"measure_sets\": [{"
"\"measure_type\": \"packet_send_timestamps\","
"\"props_names\": [\"user_space\", \"kernel_space\"],"
"\"units\": [\"us\", \"us\"],"
"\"props_type\": \"histogram\","
"\"metadata\": {"
"\"i\": \"%dus\", \"duration\": \"%dh%d\""
"},"
"\"props\": [", interval, duration_hour, duration_minutes);
} else if(tsn_task == RTT_TASK) {
printf("{\"measure_sets\": [{"
"\"measure_type\": \"packet_rtt\","
"\"props_names\": [\"rtt\"],"
"\"units\": [\"us\"],"
"\"props_type\": \"histogram\","
"\"metadata\": {"
"\"i\": \"%dus\", \"duration\": \"%dh%d\""
"},"
"\"props\": [", interval, duration_hour, duration_minutes);
}
nb_hists = tsn_task == SEND_PACKET_TASK ? 2 : 1;
max_hist_val = 0;
for (int i = 0; i < nb_hists; i++)
for (int j = 0; j < MAX_HIST_VAL; j++)
if (histograms[i][j])
max_hist_val = j > max_hist_val ? j : max_hist_val;
for (int i = 0; i < 2; i++) {
for (int i = 0; i < nb_hists; i++) {
printf("[");
for (int j = 0; j < max_hist_val; j++)
printf("%" PRIi64 "%s", histograms[i][j], (j + 1 < max_hist_val ? ", " : ""));
printf("%s", (i + 1 < 2 ? "], " : "]"));
printf("%s", (i + 1 < nb_hists ? "], " : "]"));
}
printf( "]}]}\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment