2.2.10.2.24 DNSSRV_CACHE_STATS

The DNSSRV_CACHE_STATS structure has DNS server statistics related to the server cache. This structure MUST be formatted as follows:


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Header

...

CacheExceededLimitChecks

SuccessfulFreePasses

FailedFreePasses

PassesWithNoFrees

PassesRequiringAggressiveFree

Header (8 bytes): A structure of type DNSSRV_STAT_HEADER (section 2.2.10.2.1).

CacheExceededLimitChecks (4 bytes): Not used. Senders MUST set this value to zero and receivers MUST ignore it.

SuccessfulFreePasses (4 bytes): The number of times since the server last started that the server cache was found to exceed the cache size limit, which is 90 percent of the MaxCacheSize (section 3.1.1.1.1), and that an attempt to free nodes resulted in the cache size limit being met. After reaching 0xFFFFFFFF, the value increments to 0x00000000.

FailedFreePasses (4 bytes): The number of times since the server last started that the server cache was found to exceed the cache size limit, which is 90 percent of the MaxCacheSize (section 3.1.1.1.1), and that an attempt to free nodes was unsuccessful in meeting the cache size limit. After reaching 0xFFFFFFFF, the value increments to 0x00000000.

PassesWithNoFrees (4 bytes): The number of times since the server last started that the server cache was found to exceed the cache size limit, which is 90 percent of the MaxCacheSize (section 3.1.1.1.1), but when the server scanned the cache looking for nodes containing  no records or only expired DNS records to free, it found no nodes that could be freed. After reaching 0xFFFFFFFF, the value increments to 0x00000000.

PassesRequiringAggressiveFree (4 bytes): The number of times since the server last started that the server cache was found to exceed the cache size limit, which is 90 percent of the MaxCacheSize (section 3.1.1.1.1), and that the server scanned the cache aggressively attempting to free even nodes that contain unexpired records. An aggressive scan frees, in order, nodes containing records that are to expire within the next hour, records that are to expire within the next day, and all records if needed, and halts the freeing process immediately once the cache size limit is reached. After reaching 0xFFFFFFFF, the value increments to 0x00000000.