diff options
Diffstat (limited to 'bin/named/statschannel.c')
| -rw-r--r-- | bin/named/statschannel.c | 67 |
1 files changed, 43 insertions, 24 deletions
diff --git a/bin/named/statschannel.c b/bin/named/statschannel.c index 8ec08d7b1959..4bfd52176a9a 100644 --- a/bin/named/statschannel.c +++ b/bin/named/statschannel.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008-2014 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2008-2015 Internet Systems Consortium, Inc. ("ISC") * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -14,8 +14,6 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: statschannel.c,v 1.28 2011/03/12 04:59:46 tbox Exp $ */ - /*! \file */ #include <config.h> @@ -123,6 +121,8 @@ set_desc(int counter, int maxcounter, const char *fdesc, const char **fdescs, const char *xdesc, const char **xdescs) { REQUIRE(counter < maxcounter); +if (fdescs[counter] != NULL) +fprintf(stderr, "fdescs[%d] == %s\n", counter, fdescs[counter]); REQUIRE(fdescs[counter] == NULL); #ifdef HAVE_LIBXML2 REQUIRE(xdescs[counter] == NULL); @@ -168,7 +168,7 @@ init_desc(void) { SET_NSSTATDESC(sig0in, "requests with SIG(0) received", "ReqSIG0"); SET_NSSTATDESC(invalidsig, "requests with invalid signature", "ReqBadSIG"); - SET_NSSTATDESC(tcp, "TCP requests received", "ReqTCP"); + SET_NSSTATDESC(requesttcp, "TCP requests received", "ReqTCP"); SET_NSSTATDESC(authrej, "auth queries rejected", "AuthQryRej"); SET_NSSTATDESC(recurserej, "recursive queries rejected", "RecQryRej"); SET_NSSTATDESC(xfrrej, "transfer requests rejected", "XfrRej"); @@ -207,14 +207,32 @@ init_desc(void) { SET_NSSTATDESC(updatebadprereq, "updates rejected due to prerequisite failure", "UpdateBadPrereq"); - SET_NSSTATDESC(rpz_rewrites, "response policy zone rewrites", - "RPZRewrites"); -#ifdef USE_RRL + SET_NSSTATDESC(recursclients, "recursing clients", + "RecursClients"); + SET_NSSTATDESC(dns64, "queries answered by DNS64", "DNS64"); SET_NSSTATDESC(ratedropped, "responses dropped for rate limits", "RateDropped"); SET_NSSTATDESC(rateslipped, "responses truncated for rate limits", "RateSlipped"); -#endif /* USE_RRL */ + SET_NSSTATDESC(rpz_rewrites, "response policy zone rewrites", + "RPZRewrites"); + SET_NSSTATDESC(udp, "UDP queries received", "QryUDP"); + SET_NSSTATDESC(tcp, "TCP queries received", "QryTCP"); + SET_NSSTATDESC(nsidopt, "NSID option received", "NSIDOpt"); + SET_NSSTATDESC(expireopt, "Expire option received", "ExpireOpt"); + SET_NSSTATDESC(otheropt, "Other EDNS option received", "OtherOpt"); + SET_NSSTATDESC(sitopt, "source identity token option received", + "SitOpt"); + SET_NSSTATDESC(sitnew, "new source identity token requested", + "SitNew"); + SET_NSSTATDESC(sitbadsize, "source identity token - bad size", + "SitBadSize"); + SET_NSSTATDESC(sitbadtime, "source identity token - bad time", + "SitBadTime"); + SET_NSSTATDESC(sitnomatch, "source identity token - no match", + "SitNoMatch"); + SET_NSSTATDESC(sitmatch, "source identity token - match", "SitMatch"); + SET_NSSTATDESC(ecsopt, "EDNS client subnet option recieved", "ECSOpt"); INSIST(i == dns_nsstatscounter_max); /* Initialize resolver statistics */ @@ -285,6 +303,10 @@ init_desc(void) { SET_RESSTATDESC(queryrtt5, "queries with RTT > " DNS_RESOLVER_QRYRTTCLASS4STR "ms", "QryRTT" DNS_RESOLVER_QRYRTTCLASS4STR "+"); + SET_RESSTATDESC(zonequota, "spilled due to zone quota", "ZoneQuota"); + SET_RESSTATDESC(serverquota, "spilled due to server quota", + "ServerQuota"); + INSIST(i == dns_resstatscounter_max); /* Initialize zone statistics */ @@ -495,7 +517,7 @@ dump_counters(isc_stats_t *stats, statsformat_t type, void *arg, const char *category, const char **desc, int ncounters, int *indices, isc_uint64_t *values, int options) { - int i, index; + int i, idx; isc_uint64_t value; stats_dumparg_t dumparg; FILE *fp; @@ -517,8 +539,8 @@ dump_counters(isc_stats_t *stats, statsformat_t type, void *arg, isc_stats_dump(stats, generalstat_dump, &dumparg, options); for (i = 0; i < ncounters; i++) { - index = indices[i]; - value = values[index]; + idx = indices[i]; + value = values[idx]; if (value == 0 && (options & ISC_STATSDUMP_VERBOSE) == 0) continue; @@ -527,7 +549,7 @@ dump_counters(isc_stats_t *stats, statsformat_t type, void *arg, case statsformat_file: fp = arg; fprintf(fp, "%20" ISC_PRINT_QUADFORMAT "u %s\n", - value, desc[index]); + value, desc[idx]); break; case statsformat_xml: #ifdef HAVE_LIBXML2 @@ -545,7 +567,7 @@ dump_counters(isc_stats_t *stats, statsformat_t type, void *arg, "name")); TRY0(xmlTextWriterWriteString(writer, ISC_XMLCHAR - desc[index])); + desc[i])); TRY0(xmlTextWriterEndElement(writer)); /* </name> */ @@ -569,7 +591,7 @@ dump_counters(isc_stats_t *stats, statsformat_t type, void *arg, ISC_XMLCHAR "name", ISC_XMLCHAR - desc[index])); + desc[i])); TRY0(xmlTextWriterWriteFormatString(writer, "%" ISC_PRINT_QUADFORMAT "u", value)); TRY0(xmlTextWriterEndElement(writer)); @@ -587,7 +609,7 @@ dump_counters(isc_stats_t *stats, statsformat_t type, void *arg, "name")); TRY0(xmlTextWriterWriteString(writer, ISC_XMLCHAR - desc[index])); + desc[idx])); TRY0(xmlTextWriterEndElement(writer)); /* name */ TRY0(xmlTextWriterStartElement(writer, @@ -596,7 +618,7 @@ dump_counters(isc_stats_t *stats, statsformat_t type, void *arg, } else { TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR - desc[index])); + desc[idx])); } TRY0(xmlTextWriterWriteFormatString(writer, "%" @@ -893,7 +915,6 @@ static isc_result_t zone_xmlrender(dns_zone_t *zone, void *arg) { isc_result_t result; char buf[1024 + 32]; /* sufficiently large for zone name and class */ - char *zone_name_only = NULL; dns_rdataclass_t rdclass; isc_uint32_t serial; xmlTextWriterPtr writer = arg; @@ -912,13 +933,11 @@ zone_xmlrender(dns_zone_t *zone, void *arg) { dumparg.arg = writer; TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "zone")); - dns_zone_name(zone, buf, sizeof(buf)); - zone_name_only = strtok(buf, "/"); - if(zone_name_only == NULL) - zone_name_only = buf; + dns_zone_nameonly(zone, buf, sizeof(buf)); TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "name", - ISC_XMLCHAR zone_name_only)); + ISC_XMLCHAR buf)); + rdclass = dns_zone_getclass(zone); dns_rdataclass_format(rdclass, buf, sizeof(buf)); TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "rdataclass", @@ -990,7 +1009,7 @@ zone_xmlrender(dns_zone_t *zone, void *arg) { TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "zone")); - dns_zone_name(zone, buf, sizeof(buf)); + dns_zone_nameonly(zone, buf, sizeof(buf)); TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "name")); TRY0(xmlTextWriterWriteString(writer, ISC_XMLCHAR buf)); TRY0(xmlTextWriterEndElement(writer)); @@ -1058,7 +1077,7 @@ generatexml(ns_server_t *server, int *buflen, xmlChar **buf) { ISC_XMLCHAR "type=\"text/xsl\" href=\"/bind9.ver3.xsl\"")); TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "statistics")); TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "version", - ISC_XMLCHAR "3.3")); + ISC_XMLCHAR "3.6")); /* Set common fields for statistics dump */ dumparg.type = statsformat_xml; |
