diff --git a/lib/dns/probes.d b/lib/dns/probes.d index f5abec43ca..908de7d2ea 100644 --- a/lib/dns/probes.d +++ b/lib/dns/probes.d @@ -27,4 +27,7 @@ provider libdns { probe xfrin_recv_try_axfr(void *, char *, int); probe xfrin_sent(void *, char *, int); probe xfrin_start(void *, char *); + + probe qpcache_addrdataset_done(void *, void *); + probe qpcache_addrdataset_start(void *, void *); }; diff --git a/lib/dns/qpcache.c b/lib/dns/qpcache.c index 8aba779894..ce10f01878 100644 --- a/lib/dns/qpcache.c +++ b/lib/dns/qpcache.c @@ -61,6 +61,7 @@ #include #include "db_p.h" +#include "probes.h" #include "qpcache_p.h" #define CHECK(op) \ @@ -3298,6 +3299,8 @@ addrdataset(dns_db_t *db, dns_dbnode_t *node, return (result); } + LIBDNS_QPCACHE_ADDRDATASET_START(db, node); + name = dns_fixedname_initname(&fixed); dns_name_copy(&qpnode->name, name); dns_rdataset_getownercase(rdataset, name); @@ -3453,6 +3456,8 @@ addrdataset(dns_db_t *db, dns_dbnode_t *node, isc_loop_rcu_barrier(isc_loop()); } + LIBDNS_QPCACHE_ADDRDATASET_DONE(db, node); + return (result); }