エージェント プールの履歴グラフ (プレビュー)
Azure DevOps Services
プール消費レポートを使用すると、エージェント プールで実行されているジョブを最大 30 日間にわたってエージェント プール ジョブの同時実行でグラフ化して表示できます。 この情報を使用して、同時実行の制限のためにジョブが実行されていないかどうかを判断できます。 同時実行またはオンライン エージェントの制限で多数のジョブがキューに入っている、または実行中の場合は、追加の並列ジョブを購入するか、より多くのセルフホステッド エージェントをプロビジョニングすることをお勧めします。
前提条件
重要
組織内のエージェント プールのプール消費レポート (組織内のプロジェクト レベルのレポートを含む) を表示するには、プロジェクト コレクション管理者グループのメンバーである必要があります。
プール使用量レポート
プール消費レポートはエージェント プールの[分析] タブの一部であり、エージェント プールの種類に応じて、次に示すグラフが含まれます。
グラフの種類 | 説明 | エージェント プールの種類 |
---|---|---|
パブリック ホステッド コンカレンシー | パブリック プロジェクトの同時実行、キューに入れられたジョブ、および実行中のジョブを表示します | Microsoft ホステッド |
プライベート ホステッド コンカレンシー | プライベート プロジェクトの同時実行、キューに入れられたジョブ、および実行中のジョブを表示します | Microsoft ホステッド |
エージェントの使用状況 | オンライン エージェント、キューに入れられたジョブ、およびセルフホステッド エージェントの実行中のジョブを表示します | スケール セット エージェントおよびセルフホステッド |
プライベート セルフホステッド コンカレンシー | プライベート セルフホステッド プロジェクトの同時実行、キューに入れられたジョブ、および実行中のジョブを表示します | スケール セット エージェントおよびセルフホステッド |
プール消費レポートのグラフは、次のデータ ポイントをグラフ化します。
- コンカレンシー - プロジェクトの種類 (パブリックまたはプライベート) およびエージェント プールの種類 (Microsoft ホステッドまたはセルフホステッド) に適用される組織内の並列ジョブの数。 詳しくは、「並列ジョブを構成して支払う」をご覧ください。
- オンラオイン エージェント - セルフホステッド エージェント プールまたはスケール セット エージェント プールでオンラインになっているエージェントの数。
- キューに入れられたジョブ - キューに入れられ、エージェントを待機しているジョブの数。
- 実行中のジョブ - 実行中のジョブの数。
プールデータは 10 分単位で集計され、指定された期間の実行中のジョブの最大数に基づいて、実行中のジョブの数がプロットされます。 複数の短時間実行ジョブが 10 分のタイムライン内で完了する可能性があるため、実行中のジョブの数が、同じ期間中のコンカレンシー エージェントやオンライン エージェントよりも多くなることがあります。
レポート スコープ
プール消費レポートは、組織スコープまたはプロジェクト スコープで表示できます。 組織レベルでは、そのプール内でジョブを実行している組織のすべてのプロジェクトの、パイプラインからのデータを使用してグラフがプロットされます。 プロジェクト レベルでは、そのプール内でジョブを実行している特定のプロジェクトの、パイプラインからのデータを使用してグラフがプロットされます。
- 組織レベルでプール消費レポートを表示するには、[組織の設定]、[パイプライン]、[エージェント プール] を選択します。
- プロジェクト レベルでプール消費レポートを表示するには、目的のプロジェクトに移動して、[プロジェクトの設定]、[パイプライン]、[エージェント プール] を選択します。
[エージェント プール] ビューから目的のプールを選択して、[分析] タブを表示します。次の例は、セルフホステッド エージェント プールのプール消費レポートを示しています。
次の例は、Azure Pipelines の Microsoft ホステッド エージェント プールの使用状況グラフを示しています。
フィルター処理
グラフのタイムラインを調整するには、 Filter を選択し、間隔ドロップダウンを選択して、目的の間隔を選択します。
間隔が 1 日の場合は 1 時間あたりのデータを表示できます。その他の間隔の場合は 1 日あたりのデータを表示できます。 プールデータは 10 分単位で集計され、指定された期間の実行中のジョブの最大数に基づいて、実行中のジョブの数がプロットされます。 この例には 2 つのオンライン エージェントがありますが、プール データの集計方法のために、一部の領域では 4 つの実行中ジョブがあります。
よく寄せられる質問
プール消費レポートが表示するデータを取得する場所はどこですか。
プール消費レポートでは、Azure DevOps Analytics サービスと TaskAgentRequestSnapshots
エンドポイントが使用されます。 このエンドポイントには、次の URL プレフィックスを使用してクエリを実行できます: https://analytics.dev.azure.com/{organization}/{project_id}/_odata/v4.0-preview/TaskAgentRequestSnapshots
。
プロジェクトの project_id
を取得するには、次の URL に移動します: 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
},
...
クエリ オプションの詳細については、「Azure DevOps の OData Analytics クエリ ガイドライン」を参照してください。
注意
TaskAgentRequestSnapshots
エンドポイントはプレビュー段階であり、まだドキュメント化されていませんが、エンドポイント URL: https://analytics.dev.azure.com/{org}/{project_id}/_odata/v4.0-preview/TaskAgentRequestSnapshots
に移動することで返されるデータに関する情報を表示できます。
実行中のジョブ数がエージェントやコンカレンシーよりも多いのはなぜですか。
プールデータは 10 分単位で集計され、指定された期間の実行中のジョブの最大数に基づいて、実行中のジョブの数がプロットされます。 実行中の各ジョブは個別にカウントされ、10 分間に複数のジョブが完了した場合は、その間隔の実行中のジョブの合計数に影響します。
プロジェクトの設定と組織の設定におけるグラフの表示の違いは何ですか。
グラフ内のデータのスコープは、プロジェクトの設定または組織の設定のどちらを使用してグラフにアクセスするかによって決まります。 組織レベルでは、そのプール内でジョブを実行している組織のすべてのプロジェクトの、パイプラインからのデータを使用してグラフがプロットされます。 プロジェクト レベルでは、そのプール内でジョブを実行している特定のプロジェクトの、パイプラインからのデータを使用してグラフがプロットされます。