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

Azure DevOps Services

池使用情况报告中绘制了最多 30 天时间范围内的代理池作业并发性图形,你可以在其中查看代理池中运行的作业。 可以使用此信息来帮助确定作业是否因并发性限制而未运行。 如果有大量排队的作业,或正在运行的作业达到了并发性或联机代理限制,你可以购买额外的并行作业或预配更多的自托管代理。

先决条件

重要

你必须是项目集合管理员组的成员才能查看组织中代理池的池使用情况报告,包括该组织中的项目级报告。

池消耗报表

池使用情况报告显示在代理池的“分析”选项卡中,其中根据代理池类型包含以下图表。

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

池使用情况报告中的图表绘制了以下数据点:

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

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

报告范围

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

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

在“代理池”视图中选择所需的池,然后查看“分析”选项卡。以下示例显示了自托管代理池的池使用情况报告。

自托管代理池历史图

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

Microsoft 托管代理池历史图

Filtering

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

图持续时间。

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

自托管代理图向下钻取。

常见问题解答

池使用情况报告从何处获取它显示的数据?

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

可以导航到以下 URL 来检索项目的 project_idhttps://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
},
...

有关查询选项的详细信息,请参阅 Analytics 和 OData 的查询准则

注意

TaskAgentRequestSnapshots 终结点为预览版,目前没有参考文档,但你可以通过导航到以下终结点 URL 来查看有关返回的数据的信息:https://analytics.dev.azure.com/{org}/{project_id}/_odata/v4.0-preview/TaskAgentRequestSnapshots

为何正在运行的作业数大于代理数或并发性?

池数据按 10 分钟粒度聚合,正在运行的作业数是按指定的时间间隔根据正在运行的作业数最大值绘制的。 每个正在运行的作业是单独统计的,如果多个作业在 10 分钟间隔内完成,它们将计入该间隔内正在运行的作业总数。

在项目设置与组织设置中查看图有什么差别?

图中数据的范围取决于是通过项目设置还是组织设置访问图表。 在组织级别,图表是使用组织内任何项目的管道中数据绘制的,这些管道在该池中运行了作业。 在项目级别,图表是使用该特定项目的管道中数据绘制的,这些管道在该池中运行了作业。