]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
add debug logging when creating or attaching to a query counter
authorEvan Hunt <each@isc.org>
Tue, 25 Jun 2024 18:02:49 +0000 (11:02 -0700)
committerEvan Hunt <each@isc.org>
Wed, 7 Aug 2024 21:12:34 +0000 (21:12 +0000)
fctx_create() now logs at debug level 9 when the fctx attaches
to an existing counter or creates a new one.

(cherry picked from commit 825f3d68c5b041b53f13a8c5b4dc431ca9b5887f)

lib/dns/resolver.c

index a7eb821ced47be122f83065a262f72d8a2887413..2e625e7e0f4cb625ec95ed992a73a25ac7477ce0 100644 (file)
@@ -4520,16 +4520,6 @@ fctx_create(dns_resolver_t *res, isc_loop_t *loop, const dns_name_t *name,
 
        isc_mutex_init(&fctx->lock);
 
-       if (qc != NULL) {
-               isc_counter_attach(qc, &fctx->qc);
-       } else {
-               result = isc_counter_create(fctx->mctx, res->maxqueries,
-                                           &fctx->qc);
-               if (result != ISC_R_SUCCESS) {
-                       goto cleanup_fetch;
-               }
-       }
-
        /*
         * Make fctx->info point to a copy of a formatted string
         * "name/type". FCTXTRACE won't work until this is done.
@@ -4542,6 +4532,24 @@ fctx_create(dns_resolver_t *res, isc_loop_t *loop, const dns_name_t *name,
 
        FCTXTRACE("create");
 
+       if (qc != NULL) {
+               isc_counter_attach(qc, &fctx->qc);
+               isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER,
+                             DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(9),
+                             "fctx %p(%s): attached to counter %p (%d)", fctx,
+                             fctx->info, fctx->qc, isc_counter_used(fctx->qc));
+       } else {
+               result = isc_counter_create(fctx->mctx, res->maxqueries,
+                                           &fctx->qc);
+               if (result != ISC_R_SUCCESS) {
+                       goto cleanup_fetch;
+               }
+               isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER,
+                             DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(9),
+                             "fctx %p(%s): created counter %p", fctx,
+                             fctx->info, fctx->qc);
+       }
+
 #if DNS_RESOLVER_TRACE
        fprintf(stderr, "fetchctx__init:%s:%s:%d:%p:%p->references = 1\n",
                __func__, __FILE__, __LINE__, fctx, fctx);