[Dnsmasq-discuss] [PATCH] expose the stale and unanswered metrics through CHAOS records
Geert Stappers
stappers at stappers.nl
Wed Jun 7 21:15:24 UTC 2023
On Wed, Jun 07, 2023 at 01:28:17PM +0000, Karavelov, Luben via Dnsmasq-discuss wrote:
> Adding two new CHAOS names:
> - stale.bind
> - unanswered.bind
> that expose the dns_stale_answered and dns_unanswered metrics.
> ---
> src/cache.c | 8 ++++++++
> src/dnsmasq.h | 2 ++
> src/option.c | 2 ++
> 3 files changed, 12 insertions(+)
>
> diff --git a/src/cache.c b/src/cache.c
> index 1c0e250..daacbaa 100644
> --- a/src/cache.c
> +++ b/src/cache.c
> @@ -1725,6 +1725,14 @@ int cache_make_stat(struct txt_record *t)
> break;
> #endif
>
> + case TXT_STAT_STALE:
> + sprintf(buff+1, "%u", daemon->metrics[METRIC_DNS_STALE_ANSWERED]);
> + break;
> +
> + case TXT_STAT_UNANSWERED:
> + sprintf(buff+1, "%u", daemon->metrics[METRIC_DNS_UNANSWERED_QUERY]);
> + break;
> +
> case TXT_STAT_SERVERS:
> /* sum counts from different records for same server */
> for (serv = daemon->servers; serv; serv = serv->next)
> diff --git a/src/dnsmasq.h b/src/dnsmasq.h
> index 2f95c12..08e6888 100644
> --- a/src/dnsmasq.h
> +++ b/src/dnsmasq.h
> @@ -380,6 +380,8 @@ struct naptr {
> #define TXT_STAT_HITS 5
> #define TXT_STAT_AUTH 6
> #define TXT_STAT_SERVERS 7
> +#define TXT_STAT_STALE 8
> +#define TXT_STAT_UNANSWERED 9
> #endif
>
> struct txt_record {
> diff --git a/src/option.c b/src/option.c
> index 8322725..2b2705e 100644
> --- a/src/option.c
> +++ b/src/option.c
> @@ -5947,6 +5947,8 @@ void read_opts(int argc, char **argv, char *compile_opts)
> add_txt("auth.bind", NULL, TXT_STAT_AUTH);
> #endif
> add_txt("servers.bind", NULL, TXT_STAT_SERVERS);
> + add_txt("stale.bind", NULL, TXT_STAT_STALE);
> + add_txt("unanswered.bind", NULL, TXT_STAT_UNANSWERED);
> }
> #endif
>
It misses
--- a/man/dnsmasq.8
+++ b/man/dnsmasq.8
@@ -2248,6 +2248,7 @@ Do not respond to class CHAOS and type TXT in domain bind queries.
Without this option being set, the cache statistics are also available in the
DNS as answers to queries of class CHAOS and type TXT in domain bind. The domain
names are cachesize.bind, insertions.bind, evictions.bind, misses.bind,
+stale.bind, unanswered.bind,
hits.bind, auth.bind and servers.bind unless disabled at compile-time. An
example command to query this, using the
.B dig
Regards
Geert Stappers
Mostly saying "the patch has been seen"
--
Silence is hard to parse
More information about the Dnsmasq-discuss
mailing list