(预览版) 代理池的历史图

Azure DevOps Services

使用池消耗报告可以查看在代理池池中运行的作业,这些作业在最多 30 天内使用代理池作业并发关系图。 可以使用此信息来帮助确定作业是否由于并发限制而未运行。 如果有多个作业排队或在并发或联机代理限制下运行作业,则可能需要 购买其他并行作业 或预配更多自承载代理。

先决条件

重要

您必须是 Project Collection Administrators 组的成员,才能查看组织中的代理池的池消耗报告,包括该组织中的项目级别报表。

池消耗报表

池消耗报告是代理池 的“分析 ”选项卡的一部分,包含以下图表,具体取决于代理池类型。

图表类型 说明 代理池类型
公共托管并发 显示公共项目的并发、排队作业和运行作业 Microsoft 托管
专用托管并发 显示专用项目的并发、排队作业和运行作业 Microsoft 托管
代理使用情况 显示自承载代理的联机代理、排队作业和运行作业 规模集代理和自承载
专用自承载并发 显示专用自承载项目的并发、排队作业和运行作业 规模集代理和自承载

池消耗报表图中的图表显示了以下数据点:

  • 并发 - 适用于项目类型的并行作业数 (公共或专用) 以及代理池类型 (Microsoft 托管或自承载) 。 有关详细信息,请参阅 配置和支付并行作业的费用。
  • 联机代理 - 自承载代理池规模集代理池中的联机代理数。
  • 已排队的作业 - 排队和等待代理的作业数。
  • 正在运行的作业 - 正在运行的作业数。

池数据按粒度聚合 10 分钟,并根据指定时间间隔内运行作业的最大数目绘制运行作业数。 由于多个短运行作业可能在 10 分钟内完成,因此运行作业的计数有时可能高于同一时间段的并发或联机代理。

报表范围

池消耗报告可以在组织范围或项目范围显示。 在组织级别,图表使用组织中具有运行作业的组织内任何项目的管道中的数据绘制。 在项目级别,图表使用在该池中运行作业的特定项目中的管道中的数据绘制。

  • 若要查看组织级别的池消耗报告,请选择 “组织设置”、“ 管道”、“ 代理池”。
  • 若要查看项目级别的池消耗报表,请导航到所需的项目,然后选择 “项目设置”、“ 管道”、“ 代理池”。

“代理池 ”视图中,选择所需的池,然后查看 “分析 ”选项卡。以下示例显示了自承载代理池的池消耗报告。

自承载代理池历史图

此示例显示了 Azure Pipelines Microsoft 托管代理池的使用情况图。

Microsoft 托管的代理池历史图

筛选

若要调整图形的时间线,请选择 “筛选器 ”,选择间隔下拉列表,然后选择所需的间隔。

图形持续时间。

对于 1 天间隔,可以查看每小时的数据,对于其他间隔,可以查看每天的数据。 池数据按粒度聚合 10 分钟,并根据指定时间间隔内运行作业的最大数目绘制运行作业数。 在此示例中有两个联机代理,但在某些情况下,由于池数据聚合的方式,有四个正在运行的作业。

自承载图形向下钻取。

常见问题解答

池消耗报告在何处获取其显示的数据?

池消耗报告使用 Azure DevOps Analytics 服务和TaskAgentRequestSnapshots终结点。 可以使用以下 URL 前缀查询此终结点: https://analytics.dev.azure.com/{organization}/{project_id}/_odata/v4.0-preview/TaskAgentRequestSnapshots

可以通过导航到以下 URL 来检索project_id项目: https://dev.azure.com/{organization}/_apis/projects?api-version=5.0-preview.3

以下示例演示示例查询和响应。

{
"@odata.context": "https://analytics.dev.azure.com/{org}/{project_id}/_odata/v4.0-preview/$metadata#TaskAgentRequestSnapshots",
"vsts.warnings@odata.type": "#Collection(String)",
"@vsts.warnings": [
"VS403507: The specified query does not include a $select or $apply clause which is recommended for all queries. Details on recommended query patterns are available here: https://go.microsoft.com/fwlink/?linkid=861060."
],
"value": [
{
"SamplingDateSK": 20201117,
"SamplingHour": 13,
"SamplingTime": "2020-11-17T13:10:00-08:00",
"QueuedDate": "2020-11-17T13:07:26.22-08:00",
"QueuedDateSK": 20201117,
"StartedDate": "2020-11-17T15:02:23.7398429-08:00",
"StartedDateSK": 20201117,
"FinishedDate": "2020-11-17T15:13:49.89-08:00",
"FinishedDateSK": 20201117,
"QueueDurationSeconds": 6897.519,
"ProjectSK": "...",
"PipelineSK": 5141,
"RequestId": 6313,
"PoolId": 28,
"PipelineType": "Build",
"IsHosted": true,
"IsRunning": false,
"IsQueued": true
},
...

有关查询选项的详细信息,请参阅 使用 OData 进行分析的查询指南

注意

终结点TaskAgentRequestSnapshots处于预览状态,尚未记录,但可以通过导航到终结点 URL 查看有关返回的数据的信息: https://analytics.dev.azure.com/{org}/{project_id}/_odata/v4.0-preview/TaskAgentRequestSnapshots

为什么运行作业比代理或并发多?

池数据按粒度聚合 10 分钟,并根据指定时间间隔内运行作业的最大数目绘制运行作业数。 每个正在运行的作业单独计数,如果多个作业在 10 分钟间隔内完成,则它们会为该间隔的运行作业的总计数做出贡献。

在 Project 设置与组织设置中查看图形有何区别?

根据图表是通过 项目设置 还是 组织设置访问图表来确定图形中的数据范围。 在组织级别,图表使用组织中具有运行作业的组织内任何项目的管道中的数据绘制。 在项目级别,图表使用在该池中运行作业的特定项目中的管道中的数据绘制。