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

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_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 分钟间隔内完成,则它们占该间隔内正在运行的作业总数。

在“项目设置”和“组织设置”中查看图形有什么区别?

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