THPDFParserBudgetStatistics 记录
报告解析器预算上限、令牌总量、峰值、突破情况和会话有效性
声明
THPDFParserBudgetStatistics= record
MaxTokenBytes: Integer;
MaxTotalTokens: Int64;
MaxContainerItems: Integer;
MaxBadTokens: Integer;
TokenCount: Int64;
BadTokenCount: Int64;
PeakTokenBytes: Integer;
PeakContainerItems: Integer;
LimitBreachCount: Int64;
LastLimit: THPDFParserBudgetLimit;
LastObserved: Int64;
LastMaximum: Int64;
Exceeded: boolean;
Valid: boolean;
end;
单元
HPDFDoc
字段
| 字段 | 用途 |
|---|---|
MaxTokenBytes | 会话令牌字节总量的配置上限 |
MaxTotalTokens | 扫描令牌数量的配置上限 |
MaxContainerItems | 单个数组或字典容器内条目数的配置上限 |
MaxBadTokens | 每个会话容忍的畸形令牌数的配置上限 |
TokenCount | 会话到目前为止消费的令牌数 |
BadTokenCount | 到目前为止遇到的畸形令牌数 |
PeakTokenBytes | 观察到的最大单令牌字节数 |
PeakContainerItems | 观察到的最大容器条目数 |
LimitBreachCount | 会话期间触及任意预算上限的次数 |
LastLimit | 最近一次突破由哪种限制引起(THPDFParserBudgetLimit) |
LastObserved | 最近一次突破的观测值 |
LastMaximum | 最近一次突破对应的配置最大值 |
Exceeded | 一旦任一上限被超出且加载中止即为 True |
Valid | 预算跟踪的解析器会话活动期间为 True;GetLastParserBudgetStatistics 返回的就是这个值 |
使用说明
- 请通过
GetLastParserBudgetStatistics读取快照,其返回值就是Valid,调用方据此可以判断会话是否从未启动 Exceeded为真时,LastLimit、LastObserved和LastMaximum精确指出触发的是哪条规则,与EHPDFParserBudgetExceeded的字段一一对应- 新的解析器预算会话开始时所有计数器都会重置,因此记录始终描述最近一次加载