From 4e9247228102e9b7440d19ca1032ff0172768380 Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Tue, 9 Nov 2021 03:58:35 +0300 Subject: [PATCH] stats: use llist_add_tail() in osmo_stats_reporter_alloc() This allows printing reporters in the exact order as they were configired. Change-Id: I904cd0ed53510dbe26c15cd287ba2707ca04cd6e Related: SYS#5713 --- src/stats.c | 2 +- tests/stats/stats_test.err | 68 +++++++++++++++++++------------------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/src/stats.c b/src/stats.c index 28a3ab317..096730563 100644 --- a/src/stats.c +++ b/src/stats.c @@ -223,7 +223,7 @@ struct osmo_stats_reporter *osmo_stats_reporter_alloc(enum osmo_stats_reporter_t srep->name = talloc_strdup(srep, name); srep->fd = -1; - llist_add(&srep->list, &osmo_stats_reporter_list); + llist_add_tail(&srep->list, &osmo_stats_reporter_list); return srep; } diff --git a/tests/stats/stats_test.err b/tests/stats/stats_test.err index 1e604d19f..4acd35d07 100644 --- a/tests/stats/stats_test.err +++ b/tests/stats/stats_test.err @@ -7,26 +7,26 @@ DLGLOBAL NOTICE counter group name mangled: 'ctr.b' -> 'ctr:b' test1: open test2: open report (initial): - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 test1: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 test1: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 test1: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 test1: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 test1: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 - test2: item p= g=test.one i=2 n=item.a v=-1 u=ma + test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 test1: item p= g=test.one i=2 n=item.a v=-1 u=ma - test2: item p= g=test.one i=2 n=item.b v=-1 u=kb + test2: item p= g=test.one i=2 n=item.a v=-1 u=ma test1: item p= g=test.one i=2 n=item.b v=-1 u=kb - test2: item p= g=test.one i=1 n=item.a v=-1 u=ma + test2: item p= g=test.one i=2 n=item.b v=-1 u=kb test1: item p= g=test.one i=1 n=item.a v=-1 u=ma - test2: item p= g=test.one i=1 n=item.b v=-1 u=kb + test2: item p= g=test.one i=1 n=item.a v=-1 u=ma test1: item p= g=test.one i=1 n=item.b v=-1 u=kb + test2: item p= g=test.one i=1 n=item.b v=-1 u=kb reported: 12 counter vals, 8 stat item vals report (srep1 global): test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 @@ -47,36 +47,36 @@ report (srep1 peer): test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 - test2: item p= g=test.one i=2 n=item.a v=-1 u=ma test1: item p= g=test.one i=2 n=item.a v=-1 u=ma - test2: item p= g=test.one i=2 n=item.b v=-1 u=kb + test2: item p= g=test.one i=2 n=item.a v=-1 u=ma test1: item p= g=test.one i=2 n=item.b v=-1 u=kb - test2: item p= g=test.one i=1 n=item.a v=-1 u=ma + test2: item p= g=test.one i=2 n=item.b v=-1 u=kb test1: item p= g=test.one i=1 n=item.a v=-1 u=ma - test2: item p= g=test.one i=1 n=item.b v=-1 u=kb + test2: item p= g=test.one i=1 n=item.a v=-1 u=ma test1: item p= g=test.one i=1 n=item.b v=-1 u=kb + test2: item p= g=test.one i=1 n=item.b v=-1 u=kb reported: 6 counter vals, 8 stat item vals report (srep1 subscriber): - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 test1: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 test1: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 test1: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 test1: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 test1: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 - test2: item p= g=test.one i=2 n=item.a v=-1 u=ma + test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 test1: item p= g=test.one i=2 n=item.a v=-1 u=ma - test2: item p= g=test.one i=2 n=item.b v=-1 u=kb + test2: item p= g=test.one i=2 n=item.a v=-1 u=ma test1: item p= g=test.one i=2 n=item.b v=-1 u=kb - test2: item p= g=test.one i=1 n=item.a v=-1 u=ma + test2: item p= g=test.one i=2 n=item.b v=-1 u=kb test1: item p= g=test.one i=1 n=item.a v=-1 u=ma - test2: item p= g=test.one i=1 n=item.b v=-1 u=kb + test2: item p= g=test.one i=1 n=item.a v=-1 u=ma test1: item p= g=test.one i=1 n=item.b v=-1 u=kb + test2: item p= g=test.one i=1 n=item.b v=-1 u=kb reported: 12 counter vals, 8 stat item vals report (srep2 disabled): test2: close @@ -107,38 +107,38 @@ reported: 6 counter vals, 4 stat item vals report (should be empty): reported: 0 counter vals, 0 stat item vals report (group 1, counter 1 update): - test2: counter p= g=ctr-test:one i=1 n=ctr:a v=1 d=1 test1: counter p= g=ctr-test:one i=1 n=ctr:a v=1 d=1 + test2: counter p= g=ctr-test:one i=1 n=ctr:a v=1 d=1 reported: 2 counter vals, 0 stat item vals report (group 1, item 1 update): - test2: item p= g=test.one i=1 n=item.a v=10 u=ma test1: item p= g=test.one i=1 n=item.a v=10 u=ma + test2: item p= g=test.one i=1 n=item.a v=10 u=ma reported: 0 counter vals, 2 stat item vals report (group 1, item 1 update twice, with same value): reported: 0 counter vals, 0 stat item vals report (group 1, item 1 update twice, check max): - test2: item p= g=test.one i=1 n=item.a v=20 u=ma test1: item p= g=test.one i=1 n=item.a v=20 u=ma + test2: item p= g=test.one i=1 n=item.a v=20 u=ma reported: 0 counter vals, 2 stat item vals report (group 1, item 1 no update, send last item (!= last max), OS#5215): - test2: item p= g=test.one i=1 n=item.a v=10 u=ma test1: item p= g=test.one i=1 n=item.a v=10 u=ma + test2: item p= g=test.one i=1 n=item.a v=10 u=ma reported: 0 counter vals, 2 stat item vals report (group 1, item 1 no update, nothing to send): reported: 0 counter vals, 0 stat item vals report (remove statg1, ctrg1): - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 test1: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 test1: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 test1: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test2: item p= g=test.one i=2 n=item.a v=-1 u=ma + test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 test1: item p= g=test.one i=2 n=item.a v=-1 u=ma - test2: item p= g=test.one i=2 n=item.b v=-1 u=kb + test2: item p= g=test.one i=2 n=item.a v=-1 u=ma test1: item p= g=test.one i=2 n=item.b v=-1 u=kb + test2: item p= g=test.one i=2 n=item.b v=-1 u=kb reported: 8 counter vals, 4 stat item vals report (remove srep1): test1: close