Запись THPDFSpillStatistics
Сообщает логический и физический размеры, смесь сжатия блоков и поведение async writer сжатого spill stream
Объявление
THPDFSpillStatistics= record
LogicalBytes: Int64;
PhysicalBytes: Int64;
BlockCount: Integer;
CompressedBlockCount: Integer;
RawBlockCount: Integer;
AsyncWriteBatchCount: Int64;
AsyncWriteBlockCount: Int64;
ProducerWaitCount: Int64;
PeakQueuedBytes: Int64;
end;
Модуль
HPDFObjs
Поля
| Поле | Назначение |
|---|---|
LogicalBytes | Размер несжатых данных, который stream показывает читателям |
PhysicalBytes | Текущий размер файла spill на диске |
BlockCount | Общее число блоков, учтённых в таблице смещений блоков |
CompressedBlockCount | Блоки, сохранённые сжатыми |
RawBlockCount | Блоки, сохранённые как есть, потому что сжатие не окупилось |
AsyncWriteBatchCount | Пакеты записи, переданные фоновому потоку writer |
AsyncWriteBlockCount | Блоки, реально записанные фоновым writer |
ProducerWaitCount | Сколько раз поток-производитель ждал из-за заполненной очереди записи |
PeakQueuedBytes | Максимальный объём байтов в очереди на асинхронную запись |
Примечания по использованию
- Возвращается методом
THPDFCompressedSpillStream.GetStatisticsпосле сброса отложенных записей и методомTHPDFLazyFileStream.GetSpillStatisticsдля stream, материализованных на диск - Отчёт кэша загруженных stream агрегирует эти значения в spill-поля
THPDFLoadedStreamCacheInfo ProducerWaitCountиPeakQueuedBytesпоказывают backpressure асинхронного writer при нехватке памяти