Запись THPDFGraphTransactionStatistics
Снимает состояние стека copy-on-write-транзакций графа: флаг активности, глубину вложенности, счётчики снимков и добавленных объектов, а также резидентную, вытесненную и пиковую память снимков
Объявление
THPDFGraphTransactionStatistics= record
Active: boolean;
Depth: Integer;
SnapshotCount: Integer;
AddedObjectCount: Integer;
ResidentSnapshotBytes: Int64;
SpilledSnapshotBytes: Int64;
PeakResidentSnapshotBytes: Int64;
end;
Модуль
HPDFDoc
Поля
| Поле | Назначение |
|---|---|
Active | true, пока транзакция, открытая BeginGraphTransaction, ещё не закрыта |
Depth | Число вложенных кадров транзакций, сейчас лежащих на стеке |
SnapshotCount | Снимки объектов copy-on-write, удерживаемые во всех кадрах |
AddedObjectCount | Косвенные объекты, добавленные с момента старта самой внешней транзакции, относительно её начального числа объектов |
ResidentSnapshotBytes | Байты снимков, сейчас удерживаемые в памяти во всех кадрах |
SpilledSnapshotBytes | Байты снимков, вытесненные из памяти механизмом spilling |
PeakResidentSnapshotBytes | Наибольший наблюдавшийся резидентный объём снимков; сообщается и когда ни одна транзакция не активна |
Примечания по использованию
- Запрашивайте через
THotPDF.GetGraphTransactionStatisticsмеждуBeginGraphTransactionиCommitGraphTransactionилиRollbackGraphTransaction, чтобы наблюдать рост стоимости отката - Когда
Activeравенfalse, счётчики нулевые, кромеPeakResidentSnapshotBytes, хранящего последнюю максимальную отметку - Используйте
ResidentSnapshotBytesплюсSpilledSnapshotBytes, чтобы планировать бюджеты памяти для долгих сессий редактирования больших документов