mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-03 16:15:27 +00:00
Record how often DNS_R_COVERINGNSEC is returned from the cache
reported as "covering nsec returned" when dumping cache stats and as "CoveringNSEC" in json and xml cache statistics.
This commit is contained in:
committed by
Petr Špaček
parent
90dbdb2cb5
commit
43316a40a0
@@ -1260,6 +1260,9 @@ dns_cache_dumpstats(dns_cache_t *cache, FILE *fp) {
|
|||||||
fprintf(fp, "%20" PRIu64 " %s\n",
|
fprintf(fp, "%20" PRIu64 " %s\n",
|
||||||
values[dns_cachestatscounter_deletettl],
|
values[dns_cachestatscounter_deletettl],
|
||||||
"cache records deleted due to TTL expiration");
|
"cache records deleted due to TTL expiration");
|
||||||
|
fprintf(fp, "%20" PRIu64 " %s\n",
|
||||||
|
values[dns_cachestatscounter_coveringnsec],
|
||||||
|
"covering nsec returned");
|
||||||
fprintf(fp, "%20u %s\n", dns_db_nodecount(cache->db, dns_dbtree_main),
|
fprintf(fp, "%20u %s\n", dns_db_nodecount(cache->db, dns_dbtree_main),
|
||||||
"cache database nodes");
|
"cache database nodes");
|
||||||
fprintf(fp, "%20u %s\n", dns_db_nodecount(cache->db, dns_dbtree_nsec),
|
fprintf(fp, "%20u %s\n", dns_db_nodecount(cache->db, dns_dbtree_nsec),
|
||||||
@@ -1328,6 +1331,8 @@ dns_cache_renderxml(dns_cache_t *cache, void *writer0) {
|
|||||||
writer));
|
writer));
|
||||||
TRY0(renderstat("DeleteTTL", values[dns_cachestatscounter_deletettl],
|
TRY0(renderstat("DeleteTTL", values[dns_cachestatscounter_deletettl],
|
||||||
writer));
|
writer));
|
||||||
|
TRY0(renderstat("CoveringNSEC",
|
||||||
|
values[dns_cachestatscounter_coveringnsec], writer));
|
||||||
|
|
||||||
TRY0(renderstat("CacheNodes",
|
TRY0(renderstat("CacheNodes",
|
||||||
dns_db_nodecount(cache->db, dns_dbtree_main), writer));
|
dns_db_nodecount(cache->db, dns_dbtree_main), writer));
|
||||||
@@ -1393,6 +1398,10 @@ dns_cache_renderjson(dns_cache_t *cache, void *cstats0) {
|
|||||||
CHECKMEM(obj);
|
CHECKMEM(obj);
|
||||||
json_object_object_add(cstats, "DeleteTTL", obj);
|
json_object_object_add(cstats, "DeleteTTL", obj);
|
||||||
|
|
||||||
|
obj = json_object_new_int64(values[dns_cachestatscounter_coveringnsec]);
|
||||||
|
CHECKMEM(obj);
|
||||||
|
json_object_object_add(cstats, "CoveringNSEC", obj);
|
||||||
|
|
||||||
obj = json_object_new_int64(
|
obj = json_object_new_int64(
|
||||||
dns_db_nodecount(cache->db, dns_dbtree_main));
|
dns_db_nodecount(cache->db, dns_dbtree_main));
|
||||||
CHECKMEM(obj);
|
CHECKMEM(obj);
|
||||||
|
@@ -119,8 +119,9 @@ enum {
|
|||||||
dns_cachestatscounter_querymisses = 4,
|
dns_cachestatscounter_querymisses = 4,
|
||||||
dns_cachestatscounter_deletelru = 5,
|
dns_cachestatscounter_deletelru = 5,
|
||||||
dns_cachestatscounter_deletettl = 6,
|
dns_cachestatscounter_deletettl = 6,
|
||||||
|
dns_cachestatscounter_coveringnsec = 7,
|
||||||
|
|
||||||
dns_cachestatscounter_max = 7,
|
dns_cachestatscounter_max = 8,
|
||||||
|
|
||||||
/*%
|
/*%
|
||||||
* Query statistics counters (obsolete).
|
* Query statistics counters (obsolete).
|
||||||
|
@@ -786,13 +786,16 @@ update_cachestats(dns_rbtdb_t *rbtdb, isc_result_t result) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch (result) {
|
switch (result) {
|
||||||
|
case DNS_R_COVERINGNSEC:
|
||||||
|
isc_stats_increment(rbtdb->cachestats,
|
||||||
|
dns_cachestatscounter_coveringnsec);
|
||||||
|
/* FALLTHROUGH */
|
||||||
case ISC_R_SUCCESS:
|
case ISC_R_SUCCESS:
|
||||||
case DNS_R_CNAME:
|
case DNS_R_CNAME:
|
||||||
case DNS_R_DNAME:
|
case DNS_R_DNAME:
|
||||||
case DNS_R_DELEGATION:
|
case DNS_R_DELEGATION:
|
||||||
case DNS_R_NCACHENXDOMAIN:
|
case DNS_R_NCACHENXDOMAIN:
|
||||||
case DNS_R_NCACHENXRRSET:
|
case DNS_R_NCACHENXRRSET:
|
||||||
case DNS_R_COVERINGNSEC:
|
|
||||||
isc_stats_increment(rbtdb->cachestats,
|
isc_stats_increment(rbtdb->cachestats,
|
||||||
dns_cachestatscounter_hits);
|
dns_cachestatscounter_hits);
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user