From: Ulrich Wisser Date: Tue, 17 Jul 2018 20:47:35 +0000 (-0400) Subject: all stats are now named with prefix answer_ X-Git-Tag: v3.2.0~11^2~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c0e357fcc6b968e0135e88fd21b6b8433fbe6d88;p=thirdparty%2Fknot-resolver.git all stats are now named with prefix answer_ stats with query_ prefix are deprecated added stats for all dns header flags --- diff --git a/modules/stats/stats.c b/modules/stats/stats.c index 32c02219d..b40e8820f 100644 --- a/modules/stats/stats.c +++ b/modules/stats/stats.c @@ -56,6 +56,8 @@ X(answer,total) X(answer,noerror) X(answer,nodata) X(answer,nxdomain) X(answer,servfail) \ X(answer,cached) X(answer,1ms) X(answer,10ms) X(answer,50ms) X(answer,100ms) \ X(answer,250ms) X(answer,500ms) X(answer,1000ms) X(answer,1500ms) X(answer,slow) \ + X(answer,aa) X(answer,tc) X(answer,rd) X(answer,ra) X(answer, ad) X(answer,cd) \ + X(answer,edns0) X(answer,do) \ X(query,edns) X(query,dnssec) \ X(const,end) @@ -223,7 +225,40 @@ static int collect(kr_layer_t *ctx) stat_const_add(data, metric_answer_cached, 1); } } + + /* Keep stats of all response header flags */ + if (param->answer->flags & 0x0010) { /* AA */ + stat_const_add(data, metric_answer_aa, 1); + } + if (param->answer->flags & 0x0020) { /* TC */ + stat_const_add(data, metric_answer_tc, 1); + } + if (param->answer->flags & 0x0040) { /* RD */ + stat_const_add(data, metric_answer_rd, 1); + } + if (param->answer->flags & 0x0080) { /* RA */ + stat_const_add(data, metric_answer_ra, 1); + } + if (param->answer->flags & 0x0200) { /* AD */ + stat_const_add(data, metric_answer_ad, 1); + } + if (param->answer->flags & 0x0400) { /* CD */ + stat_const_add(data, metric_answer_cd, 1); + } + + /* EDNS0 stats */ + if (knot_pkt_has_edns(param->answer)) { + stat_const_add(data, metric_answer_edns0, 1); + if (knot_pkt_has_dnssec(param->answer)) { + stat_const_add(data, metric_answer_do, 1); + } + } + /* Query parameters and transport mode */ + /* + DEPRECATED + use new names metric_answer_edns0 and metric_answer_do + */ if (knot_pkt_has_edns(param->answer)) { stat_const_add(data, metric_query_edns, 1); if (knot_pkt_has_dnssec(param->answer)) {