bind9/lib
Matthijs Mekking 705810d577 Redesign dnssec sign statistics
The first attempt to add DNSSEC sign statistics was naive: for each
zone we allocated 64K counters, twice.  In reality each zone has at
most four keys, so the new approach only has room for four keys per
zone. If after a rollover more keys have signed the zone, existing
keys are rotated out.

The DNSSEC sign statistics has three counters per key, so twelve
counters per zone. First counter is actually a key id, so it is
clear what key contributed to the metrics.  The second counter
tracks the number of generated signatures, and the third tracks
how many of those are refreshes.

This means that in the zone structure we no longer need two separate
references to DNSSEC sign metrics: both the resign and refresh stats
are kept in a single dns_stats structure.

Incrementing dnssecsignstats:

Whenever a dnssecsignstat is incremented, we look up the key id
to see if we already are counting metrics for this key.  If so,
we update the corresponding operation counter (resign or
refresh).

If the key is new, store the value in a new counter and increment
corresponding counter.

If all slots are full, we rotate the keys and overwrite the last
slot with the new key.

Dumping dnssecsignstats:

Dumping dnssecsignstats is no longer a simple wrapper around
isc_stats_dump, but uses the same principle.  The difference is that
rather than dumping the index (key tag) and counter, we have to look
up the corresponding counter.
2020-04-03 09:27:11 +02:00
..
bind9 Use the new sorting rules to regroup #include headers 2020-03-09 16:19:22 +01:00
dns Redesign dnssec sign statistics 2020-04-03 09:27:11 +02:00
irs Fixup the headers formatting 2020-03-11 10:19:32 +01:00
isc Reduce rwlock contention in isc_log_wouldlog() 2020-04-02 11:23:16 +02:00
isccc Stop leaking OpenSSL types and defines in the isc/md.h 2020-03-17 09:11:13 +01:00
isccfg Refactor the isc_log API so it cannot fail on memory failures 2020-03-18 09:05:59 +01:00
ns netmgr refactoring: use generic functions when operating on sockets. 2020-03-24 20:31:43 +00:00
samples Use the new sorting rules to regroup #include headers 2020-03-09 16:19:22 +01:00
win32/bindevt apply the modified style 2020-02-13 15:05:06 -08:00
.gitignore added gitignore, removed cvsignore 2012-03-03 23:10:05 -08:00
Kyuafile link in lib/isccc/tests/Kyuafile 2018-11-13 07:23:36 +11:00
Makefile.in remove lib/tests as nothing uses it anymore 2018-03-09 14:12:50 -08:00