THPDFParserArenaStatistics 记录
报告解析器 arena 分配器的块、分配、令牌与消除遥测数据
声明
THPDFParserArenaStatistics= record
BlockSize: Integer;
RetainedBlockCount: Integer;
RetainedBytes: Int64;
PeakUsedBytes: Int64;
AllocationCount: Int64;
BytesRequested: Int64;
BlockAllocationCount: Int64;
ReusedAllocationCount: Int64;
ResetCount: Int64;
TokenCount: Int64;
TemporaryObjectElisionCount: Int64;
end;
单元
HPDFDoc
字段
| 字段 | 用途 |
|---|---|
BlockSize | 单个 arena 块的容量,按创建时的配置为准(默认 65536) |
RetainedBlockCount | arena 当前为复用保留的块数 |
RetainedBytes | 所有保留块的容量之和 |
PeakUsedBytes | 会话期间 arena 在用字节的峰值 |
AllocationCount | 由 arena 满足的分配请求次数 |
BytesRequested | 所有分配请求的字节总数 |
BlockAllocationCount | 从内存管理器新取的块数 |
ReusedAllocationCount | 由既有块内已释放空间满足的分配次数 |
ResetCount | arena 标记回滚或 arena 重置的次数 |
TokenCount | 由所属加载会话统计的解析令牌数,arena 汇报后由 THotPDF 填入 |
TemporaryObjectElisionCount | 会话期间被消除的临时解析对象数,同样由 THotPDF 填入 |
使用说明
- 用
GetLastParserArenaStatistics获取快照;没有活动的 arena 会话时返回 false 并把记录清零 - 把
PeakUsedBytes与RetainedBytes对比,即可判断 arena 在会话之间保留了多少内存 TokenCount和TemporaryObjectElisionCount来自会话计数器,由BeginParserArenaSession清零