Azure DevOps池消耗报告与TaskAgentRequestSnapshots API数据不一致
Azure DevOps代理池消耗报告与API数据不匹配的原因分析
统计逻辑核心差异
ADO内置池消耗报告的计算规则
- 采用整点瞬时快照统计:小时级数据精确抓取对应整点时刻(如2025-03-08 00:00:00)处于
Running稳定状态的作业数量,只统计该时间点正在运行的有效作业。 - 过滤过渡/无效状态:排除处于
Starting/Finishing等过渡状态、已终止待清理,以及因排队超时、代理故障被标记为无效的作业请求。 - 时区统一:默认使用UTC时间统计,需注意本地时间与UTC的转换差异。
TaskAgentRequestSnapshots API的返回逻辑
- 覆盖时段内全量快照:返回的是指定小时内所有生成过快照的作业记录,包含整点前后处于运行状态的作业,并非仅整点瞬时数据。
- 包含全状态记录:
Starting/Finishing等过渡状态的作业会被计入统计,未过滤无效请求记录。
对齐报告数据的API过滤方案
要让API数据与内置报告结果匹配,需添加以下过滤条件:
- 精确匹配整点快照时间:
SnapshotTime eq 2025-03-08T00:00:00Z(注意时区转换为UTC) - 仅保留运行状态作业:
RequestState eq 'Running' - 排除已完成请求:
IsCompleted eq false
内容的提问来源于stack exchange,提问作者ankur kapoor
相关产品推荐
相关产品推荐

