mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-22 10:10:06 +00:00
Print out ancient type stats with '~' prefix.
The stale RR types are now printed with '#'. This used to be the prefix for RR types that were marked ancient, but commit df50751585b64f72d93ad665abf0f485c8941a3b changed the meaning. It is probably better to keep '#' for stale RR types and introduce a new prefix for reintroducing ancient type stat counters.
This commit is contained in:
parent
403cc1fa12
commit
c9d56a8185
@ -1253,6 +1253,12 @@ rdtypestat_dump(dns_rdatastatstype_t type, uint64_t val, void *arg) {
|
||||
#endif
|
||||
}
|
||||
|
||||
static bool
|
||||
rdatastatstype_attr(dns_rdatastatstype_t type, unsigned int attr)
|
||||
{
|
||||
return ((DNS_RDATASTATSTYPE_ATTR(type) & attr) != 0);
|
||||
}
|
||||
|
||||
static void
|
||||
rdatasetstats_dump(dns_rdatastatstype_t type, uint64_t val, void *arg) {
|
||||
stats_dumparg_t *dumparg = arg;
|
||||
@ -1261,6 +1267,7 @@ rdatasetstats_dump(dns_rdatastatstype_t type, uint64_t val, void *arg) {
|
||||
const char *typestr;
|
||||
bool nxrrset = false;
|
||||
bool stale = false;
|
||||
bool ancient = false;
|
||||
#ifdef HAVE_LIBXML2
|
||||
void *writer;
|
||||
int xmlrc;
|
||||
@ -1282,19 +1289,16 @@ rdatasetstats_dump(dns_rdatastatstype_t type, uint64_t val, void *arg) {
|
||||
typestr = typebuf;
|
||||
}
|
||||
|
||||
if ((DNS_RDATASTATSTYPE_ATTR(type) & DNS_RDATASTATSTYPE_ATTR_NXRRSET)
|
||||
!= 0)
|
||||
nxrrset = true;
|
||||
|
||||
if ((DNS_RDATASTATSTYPE_ATTR(type) & DNS_RDATASTATSTYPE_ATTR_STALE)
|
||||
!= 0)
|
||||
stale = true;
|
||||
nxrrset = rdatastatstype_attr(type, DNS_RDATASTATSTYPE_ATTR_NXRRSET);
|
||||
stale = rdatastatstype_attr(type, DNS_RDATASTATSTYPE_ATTR_STALE);
|
||||
ancient = rdatastatstype_attr(type, DNS_RDATASTATSTYPE_ATTR_ANCIENT);
|
||||
|
||||
switch (dumparg->type) {
|
||||
case isc_statsformat_file:
|
||||
fp = dumparg->arg;
|
||||
fprintf(fp, "%20" PRIu64 " %s%s%s\n", val,
|
||||
stale ? "#" : "", nxrrset ? "!" : "", typestr);
|
||||
fprintf(fp, "%20" PRIu64 " %s%s%s%s\n", val,
|
||||
ancient ? "~" : "", stale ? "#" : "",
|
||||
nxrrset ? "!" : "", typestr);
|
||||
break;
|
||||
case isc_statsformat_xml:
|
||||
#ifdef HAVE_LIBXML2
|
||||
@ -1302,7 +1306,8 @@ rdatasetstats_dump(dns_rdatastatstype_t type, uint64_t val, void *arg) {
|
||||
|
||||
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "rrset"));
|
||||
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "name"));
|
||||
TRY0(xmlTextWriterWriteFormatString(writer, "%s%s%s",
|
||||
TRY0(xmlTextWriterWriteFormatString(writer, "%s%s%s%s",
|
||||
ancient ? "~" : "",
|
||||
stale ? "#" : "",
|
||||
nxrrset ? "!" : "", typestr));
|
||||
TRY0(xmlTextWriterEndElement(writer)); /* name */
|
||||
@ -1319,7 +1324,7 @@ rdatasetstats_dump(dns_rdatastatstype_t type, uint64_t val, void *arg) {
|
||||
case isc_statsformat_json:
|
||||
#ifdef HAVE_JSON_C
|
||||
zoneobj = (json_object *) dumparg->arg;
|
||||
snprintf(buf, sizeof(buf), "%s%s%s",
|
||||
snprintf(buf, sizeof(buf), "%s%s%s%s", ancient ? "~" : "",
|
||||
stale ? "#" : "", nxrrset ? "!" : "", typestr);
|
||||
obj = json_object_new_int64(val);
|
||||
if (obj == NULL)
|
||||
|
@ -15233,8 +15233,9 @@ HOST-127.EXAMPLE. MX 0 .
|
||||
type, it means that particular type of RRset is
|
||||
known to be nonexistent (this is also known as
|
||||
"NXRRSET"). If a hash mark (#) is present then
|
||||
the RRset is marked for garbage collection.
|
||||
Maintained per view.
|
||||
the RRset is stale. If a tilde mark (~) is
|
||||
present, the RRset is marked for garbage
|
||||
collection. Maintained per view.
|
||||
</para>
|
||||
</entry>
|
||||
</row>
|
||||
|
@ -474,16 +474,24 @@ LIBDNS_EXTERNAL_DATA extern const char *dns_statscounter_names[];
|
||||
* attribute is set, the base type is of no use.
|
||||
*
|
||||
* _STALE
|
||||
* RRset type counters only. This indicates a record that marked for
|
||||
* removal.
|
||||
* RRset type counters only. This indicates a record that is stale
|
||||
* but may still be served.
|
||||
*
|
||||
* Note: incrementing _STALE will decrement the corresponding non-stale
|
||||
* counter.
|
||||
*
|
||||
* _ANCIENT
|
||||
* RRset type counters only. This indicates a record that is marked for
|
||||
* removal.
|
||||
*
|
||||
* Note: incrementing _ANCIENT will decrement the corresponding
|
||||
* non-ancient counter.
|
||||
*/
|
||||
#define DNS_RDATASTATSTYPE_ATTR_OTHERTYPE 0x0001
|
||||
#define DNS_RDATASTATSTYPE_ATTR_NXRRSET 0x0002
|
||||
#define DNS_RDATASTATSTYPE_ATTR_NXDOMAIN 0x0004
|
||||
#define DNS_RDATASTATSTYPE_ATTR_STALE 0x0008
|
||||
#define DNS_RDATASTATSTYPE_ATTR_ANCIENT 0x0010
|
||||
|
||||
/*%<
|
||||
* Conversion macros among dns_rdatatype_t, attributes and isc_statscounter_t.
|
||||
|
Loading…
x
Reference in New Issue
Block a user