THPDFRangeCacheStatistics Record
Snapshot of source reads, cache hits, prefetch activity, read-ahead depth and admission counters for the coalescing range cache
Declaration
THPDFRangeCacheStatistics= record
SourceReadCount: Int64;
SourceBytesRead: Int64;
CacheHitCount: Int64;
CacheMissCount: Int64;
PrefetchRequestCount: Int64;
PrefetchCompletedCount: Int64;
PrefetchCancelledCount: Int64;
SequentialReadCount: Int64;
RandomReadCount: Int64;
SuppressedPrefetchCount: Int64;
CurrentReadAheadBlocks: Integer;
PeakReadAheadBlocks: Integer;
DirectTransferCount: Int64;
DirectTransferBytes: Int64;
CachedRangeCount: Integer;
CachedBytes: Int64;
AdmissionCount: Int64;
RejectionCount: Int64;
EvictionCount: Int64;
FrequencyAdmissionCount: Int64;
FrequencyRejectionCount: Int64;
FrequencyAgingCount: Int64;
end;
Unit
HPDFDoc
Fields
| Field | Purpose |
|---|---|
SourceReadCount | Number of reads issued against the underlying source |
SourceBytesRead | Bytes pulled out of the underlying source |
CacheHitCount | Read requests served wholly out of cached ranges |
CacheMissCount | Read requests that had to go to the source |
PrefetchRequestCount | Background prefetch ranges that were requested |
PrefetchCompletedCount | Background prefetch ranges that ran to completion |
PrefetchCancelledCount | Background prefetch ranges cancelled, usually by foreground demand |
SequentialReadCount | Reads classed as sequential by the access pattern detector |
RandomReadCount | Reads classed as random |
SuppressedPrefetchCount | Prefetch attempts held back by the admission heuristics |
CurrentReadAheadBlocks | Read-ahead depth the adaptive controller is using at present |
PeakReadAheadBlocks | Highest read-ahead depth that was reached |
DirectTransferCount | Transfers that bypassed the cache altogether |
DirectTransferBytes | Bytes moved across by bypass transfers |
CachedRangeCount | Cache entries resident at present |
CachedBytes | Bytes held by cache entries at present |
AdmissionCount | Ranges that were admitted into the cache |
RejectionCount | Ranges that were refused admission on size or policy grounds |
EvictionCount | Cache entries evicted so as to respect byte and entry budgets |
FrequencyAdmissionCount | Admissions the frequency sketch credited as reused blocks |
FrequencyRejectionCount | Admissions refused because the frequency sketch saw no sign of reuse |
FrequencyAgingCount | Ageing operations performed on the frequency sketch |
Usage notes
- Read it with the cache source's
GetStatisticsmethod; the snapshot is taken under the cache lock, so it is internally consistent - A high
SuppressedPrefetchCounttogether with a low hit rate points to random access where prefetching does not pay off CachedRangeCount,CachedBytesandFrequencyAgingCountare sampled live from the cache rather than accumulated