From: Mischan Toosarani-Hausberger Date: Fri, 5 Jun 2020 21:17:21 +0000 (+0200) Subject: auth: Declare ring-size metrics as gauges X-Git-Tag: dnsdist-1.5.0-rc3~22^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=13e6a268b4bd833426d1079d8bf187e51f8b599d;p=thirdparty%2Fpdns.git auth: Declare ring-size metrics as gauges ring-buffer size metrics are affected in three ways: * incremented and saturated as items are added * set to zero, when the ring-buffer is reset * decremented when the ring-buffer is resized to a smaller capacity that cannot hold the number of items currently stored The latter qualifies ring-buffer size metrics as gauges. --- diff --git a/docs/http-api/index.rst b/docs/http-api/index.rst index b55be7f110..45c83308f9 100644 --- a/docs/http-api/index.rst +++ b/docs/http-api/index.rst @@ -202,25 +202,25 @@ A simple ``GET`` request will return a response similar to the following: # TYPE pdns_auth_ring_logmessages_capacity gauge pdns_auth_ring_logmessages_capacity 10000 # HELP pdns_auth_ring_logmessages_size Number of entries in the logmessages ring - # TYPE pdns_auth_ring_logmessages_size counter + # TYPE pdns_auth_ring_logmessages_size gauge pdns_auth_ring_logmessages_size 7 # HELP pdns_auth_ring_noerror_queries_capacity Maximum number of entries in the noerror-queries ring # TYPE pdns_auth_ring_noerror_queries_capacity gauge pdns_auth_ring_noerror_queries_capacity 10000 # HELP pdns_auth_ring_noerror_queries_size Number of entries in the noerror-queries ring - # TYPE pdns_auth_ring_noerror_queries_size counter + # TYPE pdns_auth_ring_noerror_queries_size gauge pdns_auth_ring_noerror_queries_size 0 # HELP pdns_auth_ring_nxdomain_queries_capacity Maximum number of entries in the nxdomain-queries ring # TYPE pdns_auth_ring_nxdomain_queries_capacity gauge pdns_auth_ring_nxdomain_queries_capacity 10000 # HELP pdns_auth_ring_nxdomain_queries_size Number of entries in the nxdomain-queries ring - # TYPE pdns_auth_ring_nxdomain_queries_size counter + # TYPE pdns_auth_ring_nxdomain_queries_size gauge pdns_auth_ring_nxdomain_queries_size 0 # HELP pdns_auth_ring_queries_capacity Maximum number of entries in the queries ring # TYPE pdns_auth_ring_queries_capacity gauge pdns_auth_ring_queries_capacity 10000 # HELP pdns_auth_ring_queries_size Number of entries in the queries ring - # TYPE pdns_auth_ring_queries_size counter + # TYPE pdns_auth_ring_queries_size gauge pdns_auth_ring_queries_size 0 # HELP pdns_auth_ring_remotes_capacity Maximum number of entries in the remotes ring # TYPE pdns_auth_ring_remotes_capacity gauge @@ -229,28 +229,28 @@ A simple ``GET`` request will return a response similar to the following: # TYPE pdns_auth_ring_remotes_corrupt_capacity gauge pdns_auth_ring_remotes_corrupt_capacity 10000 # HELP pdns_auth_ring_remotes_corrupt_size Number of entries in the remotes-corrupt ring - # TYPE pdns_auth_ring_remotes_corrupt_size counter + # TYPE pdns_auth_ring_remotes_corrupt_size gauge pdns_auth_ring_remotes_corrupt_size 0 # HELP pdns_auth_ring_remotes_size Number of entries in the remotes ring - # TYPE pdns_auth_ring_remotes_size counter + # TYPE pdns_auth_ring_remotes_size gauge pdns_auth_ring_remotes_size 0 # HELP pdns_auth_ring_remotes_unauth_capacity Maximum number of entries in the remotes-unauth ring # TYPE pdns_auth_ring_remotes_unauth_capacity gauge pdns_auth_ring_remotes_unauth_capacity 10000 # HELP pdns_auth_ring_remotes_unauth_size Number of entries in the remotes-unauth ring - # TYPE pdns_auth_ring_remotes_unauth_size counter + # TYPE pdns_auth_ring_remotes_unauth_size gauge pdns_auth_ring_remotes_unauth_size 0 # HELP pdns_auth_ring_servfail_queries_capacity Maximum number of entries in the servfail-queries ring # TYPE pdns_auth_ring_servfail_queries_capacity gauge pdns_auth_ring_servfail_queries_capacity 10000 # HELP pdns_auth_ring_servfail_queries_size Number of entries in the servfail-queries ring - # TYPE pdns_auth_ring_servfail_queries_size counter + # TYPE pdns_auth_ring_servfail_queries_size gauge pdns_auth_ring_servfail_queries_size 0 # HELP pdns_auth_ring_unauth_queries_capacity Maximum number of entries in the unauth-queries ring # TYPE pdns_auth_ring_unauth_queries_capacity gauge pdns_auth_ring_unauth_queries_capacity 10000 # HELP pdns_auth_ring_unauth_queries_size Number of entries in the unauth-queries ring - # TYPE pdns_auth_ring_unauth_queries_size counter + # TYPE pdns_auth_ring_unauth_queries_size gauge pdns_auth_ring_unauth_queries_size 0 # HELP pdns_auth_signature_cache_size Number of entries in the signature cache # TYPE pdns_auth_signature_cache_size gauge diff --git a/pdns/statbag.cc b/pdns/statbag.cc index 9f2814aeab..110287ae08 100644 --- a/pdns/statbag.cc +++ b/pdns/statbag.cc @@ -244,7 +244,7 @@ vector >StatRing::get() const void StatBag::registerRingStats(const string& name) { - declare("ring-" + name + "-size", "Number of entries in the " + name + " ring", [this,name](const std::string&) { return static_cast(getRingEntriesCount(name)); }, StatType::counter); + declare("ring-" + name + "-size", "Number of entries in the " + name + " ring", [this,name](const std::string&) { return static_cast(getRingEntriesCount(name)); }, StatType::gauge); declare("ring-" + name + "-capacity", "Maximum number of entries in the " + name + " ring", [this,name](const std::string&) { return static_cast(getRingSize(name)); }, StatType::gauge); }