From 1fac2b08b9670fd9a6ec8ff08310d2e612365abd Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Fri, 20 Aug 2021 12:06:42 -0400 Subject: [PATCH] TT#101150 use rtpe_now for timer start time makes testing it easier Change-Id: I47205dac1aaac752f1fa7a3cdf892f1fd0c45970 --- daemon/call.c | 2 +- t/test-stats.c | 201 +++++++++++++++++++++++++------------------------ 2 files changed, 102 insertions(+), 101 deletions(-) diff --git a/daemon/call.c b/daemon/call.c index e876e316a..fc8a0c3bf 100644 --- a/daemon/call.c +++ b/daemon/call.c @@ -547,7 +547,7 @@ void call_timer(void *ptr) { static struct timeval last_run; static long long interval = 900000; // usec - gettimeofday(&tv_start, NULL); + tv_start = rtpe_now; // ready to start? run_diff = timeval_diff(&tv_start, &last_run); diff --git a/t/test-stats.c b/t/test-stats.c index 293050844..fdc0c5620 100644 --- a/t/test-stats.c +++ b/t/test-stats.c @@ -972,59 +972,60 @@ int main(void) { call_timer(NULL); atomic64_add(&rtpe_statsps.offers, 100); - sleep(1); // timer only runs once per second + rtpe_now.tv_sec += 2; atomic64_add(&rtpe_statsps.offers, 20); call_timer(NULL); - sleep(1); + // timer run time interval increased + rtpe_now.tv_sec += 5; atomic64_add(&rtpe_statsps.offers, 200); call_timer(NULL); graph_str = print_graphite_data(&rtpe_totalstats_lastinterval); assert_g_string_eq(graph_str, - "offer_time_min 0.000000 150\n" - "offer_time_max 0.000000 150\n" - "offer_time_avg 0.000000 150\n" - "answer_time_min 0.000000 150\n" - "answer_time_max 0.000000 150\n" - "answer_time_avg 0.000000 150\n" - "delete_time_min 0.000000 150\n" - "delete_time_max 0.000000 150\n" - "delete_time_avg 0.000000 150\n" - "call_dur 0.000000 150\n" - "average_call_dur 0.000000 150\n" - "forced_term_sess 0 150\n" - "managed_sess 0 150\n" - "managed_sess_min 0 150\n" - "managed_sess_max 0 150\n" - "current_sessions_total 0 150\n" - "current_sessions_own 0 150\n" - "current_sessions_foreign 0 150\n" - "current_transcoded_media 0 150\n" - "current_sessions_ipv4 0 150\n" - "current_sessions_ipv6 0 150\n" - "current_sessions_mixed 0 150\n" - "nopacket_relayed_sess 0 150\n" - "oneway_stream_sess 0 150\n" - "regular_term_sess 0 150\n" - "relayed_errors 0 150\n" - "relayed_packets 0 150\n" - "silent_timeout_sess 0 150\n" - "final_timeout_sess 0 150\n" - "offer_timeout_sess 0 150\n" - "timeout_sess 0 150\n" - "reject_sess 0 150\n" - "offers_ps_min 120 150\n" - "offers_ps_max 200 150\n" - "offers_ps_avg 106 150\n" - "answers_ps_min 0 150\n" - "answers_ps_max 0 150\n" - "answers_ps_avg 0 150\n" - "deletes_ps_min 0 150\n" - "deletes_ps_max 0 150\n" - "deletes_ps_avg 0 150\n"); + "offer_time_min 0.000000 157\n" + "offer_time_max 0.000000 157\n" + "offer_time_avg 0.000000 157\n" + "answer_time_min 0.000000 157\n" + "answer_time_max 0.000000 157\n" + "answer_time_avg 0.000000 157\n" + "delete_time_min 0.000000 157\n" + "delete_time_max 0.000000 157\n" + "delete_time_avg 0.000000 157\n" + "call_dur 0.000000 157\n" + "average_call_dur 0.000000 157\n" + "forced_term_sess 0 157\n" + "managed_sess 0 157\n" + "managed_sess_min 0 157\n" + "managed_sess_max 0 157\n" + "current_sessions_total 0 157\n" + "current_sessions_own 0 157\n" + "current_sessions_foreign 0 157\n" + "current_transcoded_media 0 157\n" + "current_sessions_ipv4 0 157\n" + "current_sessions_ipv6 0 157\n" + "current_sessions_mixed 0 157\n" + "nopacket_relayed_sess 0 157\n" + "oneway_stream_sess 0 157\n" + "regular_term_sess 0 157\n" + "relayed_errors 0 157\n" + "relayed_packets 0 157\n" + "silent_timeout_sess 0 157\n" + "final_timeout_sess 0 157\n" + "offer_timeout_sess 0 157\n" + "timeout_sess 0 157\n" + "reject_sess 0 157\n" + "offers_ps_min 40 157\n" + "offers_ps_max 60 157\n" + "offers_ps_avg 33 157\n" + "answers_ps_min 0 157\n" + "answers_ps_max 0 157\n" + "answers_ps_avg 0 157\n" + "deletes_ps_min 0 157\n" + "deletes_ps_max 0 157\n" + "deletes_ps_avg 0 157\n"); stats = statistics_gather_metrics(); assert_metrics_eq(stats, @@ -1072,8 +1073,8 @@ int main(void) { "{\n" "Uptime of rtpengine\n" "uptime\n" - "70 seconds\n" - "70\n" + "77 seconds\n" + "77\n" "Total managed sessions\n" "managedsessions\n" "0\n" @@ -1181,13 +1182,13 @@ int main(void) { "avgdeletedelay\n" "0.000000\n" "Min/Max/Avg offer requests per second\n" - "120/200/106 per sec\n" + "40/60/33 per sec\n" "minofferrequestrate\n" - "120\n" + "40\n" "maxofferrequestrate\n" - "200\n" + "60\n" "avgofferrequestrate\n" - "106\n" + "33\n" "Min/Max/Avg answer requests per second\n" "0/0/0 per sec\n" "minanswerrequestrate\n" @@ -1284,52 +1285,52 @@ int main(void) { struct call_monologue *ml1 = call_get_or_create_monologue(call1, &callid1); struct call *call2 = call_get_or_create(&callid2, false, true); struct call_monologue *ml2 = call_get_or_create_monologue(call2, &callid2); - ml1->started = (struct timeval) {150,0}; - ml2->started = (struct timeval) {50,0}; + ml1->started = (struct timeval) {157,0}; + ml2->started = (struct timeval) {57,0}; graph_str = print_graphite_data(&rtpe_totalstats_lastinterval); assert_g_string_eq(graph_str, - "offer_time_min 0.000000 150\n" - "offer_time_max 0.000000 150\n" - "offer_time_avg 0.000000 150\n" - "answer_time_min 0.000000 150\n" - "answer_time_max 0.000000 150\n" - "answer_time_avg 0.000000 150\n" - "delete_time_min 0.000000 150\n" - "delete_time_max 0.000000 150\n" - "delete_time_avg 0.000000 150\n" - "call_dur 0.000000 150\n" - "average_call_dur 0.000000 150\n" - "forced_term_sess 0 150\n" - "managed_sess 0 150\n" - "managed_sess_min 0 150\n" - "managed_sess_max 2 150\n" - "current_sessions_total 2 150\n" - "current_sessions_own 2 150\n" - "current_sessions_foreign 0 150\n" - "current_transcoded_media 0 150\n" - "current_sessions_ipv4 0 150\n" - "current_sessions_ipv6 0 150\n" - "current_sessions_mixed 0 150\n" - "nopacket_relayed_sess 0 150\n" - "oneway_stream_sess 0 150\n" - "regular_term_sess 0 150\n" - "relayed_errors 0 150\n" - "relayed_packets 0 150\n" - "silent_timeout_sess 0 150\n" - "final_timeout_sess 0 150\n" - "offer_timeout_sess 0 150\n" - "timeout_sess 0 150\n" - "reject_sess 0 150\n" - "offers_ps_min 0 150\n" - "offers_ps_max 0 150\n" - "offers_ps_avg 0 150\n" - "answers_ps_min 0 150\n" - "answers_ps_max 0 150\n" - "answers_ps_avg 0 150\n" - "deletes_ps_min 0 150\n" - "deletes_ps_max 0 150\n" - "deletes_ps_avg 0 150\n"); + "offer_time_min 0.000000 157\n" + "offer_time_max 0.000000 157\n" + "offer_time_avg 0.000000 157\n" + "answer_time_min 0.000000 157\n" + "answer_time_max 0.000000 157\n" + "answer_time_avg 0.000000 157\n" + "delete_time_min 0.000000 157\n" + "delete_time_max 0.000000 157\n" + "delete_time_avg 0.000000 157\n" + "call_dur 0.000000 157\n" + "average_call_dur 0.000000 157\n" + "forced_term_sess 0 157\n" + "managed_sess 0 157\n" + "managed_sess_min 0 157\n" + "managed_sess_max 2 157\n" + "current_sessions_total 2 157\n" + "current_sessions_own 2 157\n" + "current_sessions_foreign 0 157\n" + "current_transcoded_media 0 157\n" + "current_sessions_ipv4 0 157\n" + "current_sessions_ipv6 0 157\n" + "current_sessions_mixed 0 157\n" + "nopacket_relayed_sess 0 157\n" + "oneway_stream_sess 0 157\n" + "regular_term_sess 0 157\n" + "relayed_errors 0 157\n" + "relayed_packets 0 157\n" + "silent_timeout_sess 0 157\n" + "final_timeout_sess 0 157\n" + "offer_timeout_sess 0 157\n" + "timeout_sess 0 157\n" + "reject_sess 0 157\n" + "offers_ps_min 0 157\n" + "offers_ps_max 0 157\n" + "offers_ps_avg 0 157\n" + "answers_ps_min 0 157\n" + "answers_ps_max 0 157\n" + "answers_ps_avg 0 157\n" + "deletes_ps_min 0 157\n" + "deletes_ps_max 0 157\n" + "deletes_ps_avg 0 157\n"); stats = statistics_gather_metrics(); assert_metrics_eq(stats, @@ -1377,8 +1378,8 @@ int main(void) { "{\n" "Uptime of rtpengine\n" "uptime\n" - "70 seconds\n" - "70\n" + "77 seconds\n" + "77\n" "Total managed sessions\n" "managedsessions\n" "0\n" @@ -1598,7 +1599,7 @@ int main(void) { "delete_time_min 0.000000 200\n" "delete_time_max 0.000000 200\n" "delete_time_avg 0.000000 200\n" - "call_dur 200.000000 200\n" + "call_dur 186.000000 200\n" "average_call_dur 0.000000 200\n" "forced_term_sess 0 200\n" "managed_sess 0 200\n" @@ -1750,8 +1751,8 @@ int main(void) { "{\n" "Total calls duration\n" "totalcallsduration\n" - "200.000000\n" - "200.000000\n" + "186.000000\n" + "186.000000\n" "\n" "Min managed sessions\n" "minmanagedsessions\n" @@ -1901,7 +1902,7 @@ int main(void) { "delete_time_max 0.000000 200\n" "delete_time_avg 0.000000 200\n" "call_dur 0.000000 200\n" - "average_call_dur 100.000000 200\n" + "average_call_dur 93.000000 200\n" "forced_term_sess 0 200\n" "managed_sess 2 200\n" "managed_sess_min 0 200\n" @@ -2042,8 +2043,8 @@ int main(void) { "0\n" "Average call duration\n" "avgcallduration\n" - "100.000000\n" - "100.000000\n" + "93.000000\n" + "93.000000\n" "\n" "\n" "}\n"