파이프라인 작업 기간 샘플 보고서
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
완료하는 데 다른 작업이 얼마나 걸리나요? 이 문서에서는 특정 파이프라인 및 해당 작업에 대한 보고서를 생성할 수 있는 쿼리를 제공합니다. 예를 들어 다음 이미지는 2022년 9월 1일부터 12월 15일까지 특정 파이프라인에 대해 완료된 모든 작업에 대해 50번째, 80번째 및 95번째 백분위수(초)를 나열합니다.
Important
Analytics Service의 OData 피드에 대한 Power BI 통합 및 액세스는 일반적으로 Azure DevOps Services 및 Azure DevOps Server 2020 이상 버전에서 사용할 수 있습니다. 이 문서에서 제공하는 샘플 쿼리는 Azure DevOps Server 2020 이상 버전에 대해서만 유효하며 v3.0 미리 보기 이상 버전에 따라 달라집니다. 이러한 쿼리를 사용하고 피드백을 제공하는 것이 좋습니다.
필수 조건
- 액세스: 최소한 기본 액세스 권한이 있는 프로젝트의 멤버여야 합니다.
- 사용 권한: 기본적으로 프로젝트 멤버는 분석을 쿼리하고 뷰를 만들 수 있는 권한이 있습니다.
- 서비스 및 기능 사용 및 일반 데이터 추적 활동과 관련된 기타 필수 구성 요소에 대한 자세한 내용은 Analytics에 액세스하기 위한 사용 권한 및 필수 구성 요소를 참조 하세요.
참고 항목
이 문서에서는 OData 쿼리를 사용하여 샘플 보고서 개요를 읽고 Power BI에 대한 기본적인 이해를 가지고 있다고 가정합니다 .
샘플 쿼리
작업 기간 정보를 반환하도록 엔터티 집합을 쿼리 PipelineRunActivityResults?
합니다.
참고 항목
필터 또는 보고서 용도로 사용 가능한 속성을 확인하려면 Azure Pipelines에 대한 메타데이터 참조를 참조 하세요. 에서 사용할 수 있는 값 또는 아래 값을 Property
사용하여 쿼리를 EntityType
필터링하거나 NavigationPropertyBinding Path
속성을 반환할 수 있습니다 EntitySet
. 각각 EntitySet
은 .에 EntityType
해당합니다. 각 값의 데이터 형식에 대한 자세한 내용은 해당 EntityType
값에 대해 제공된 메타데이터를 검토하세요.
다음 Power BI 쿼리를 복사하여 데이터>빈 쿼리 가져오기 창에 직접 붙여넣습니다. 자세한 내용은 OData 쿼리를 사용하는 샘플 보고서 개요를 참조 하세요.
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRunActivityResults?"
&"$apply=filter( "
&"Pipeline/PipelineName eq '{pipelinename}' "
&"and PipelineRunCompletedOn/Date ge {startdate} "
&"and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded') "
&"and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1) "
&") "
&"/compute( "
&"percentile_cont(ActivityDurationSeconds, 0.5, TaskDisplayName) as TaskDuration50thPercentileInSeconds, "
&"percentile_cont(ActivityDurationSeconds, 0.8, TaskDisplayName) as TaskDuration80thPercentileInSeconds, "
&"percentile_cont(ActivityDurationSeconds, 0.95, TaskDisplayName) as TaskDuration95thPercentileInSeconds) "
&"/groupby( "
&"(TaskDuration50thPercentileInSeconds, TaskDuration80thPercentileInSeconds,TaskDuration95thPercentileInSeconds, TaskDisplayName)) "
&"&$orderby=TaskDuration50thPercentileInSeconds desc "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
대체 문자열 및 쿼리 분석
다음 문자열을 값으로 바꿉니다. 대괄호를 대체에 {} 포함하지 마세요. 예를 들어 조직 이름이 "Fabrikam"{organization}
Fabrikam
{Fabrikam}
인 경우 .
{organization}
- 조직 이름{project}
- 팀 프로젝트 이름{pipelinename}
- 파이프라인 이름입니다. 예:Fabrikam hourly build pipeline
{startdate}
- 보고서를 시작할 날짜입니다. 형식: YYYY-MM-DDZ. 예:2021-09-01Z
2021년 9월 1일을 나타냅니다. 따옴표나 대괄호로 묶지 말고 월과 날짜 둘 다에 두 숫자를 사용합니다.
쿼리 분석
다음 표에서는 쿼리의 각 부분을 설명합니다.
쿼리 파트
설명
$apply=filter(
Start filter()
절입니다.
Pipeline/PipelineName eq '{pipelinename}'
지정된 파이프라인에 대한 파이프라인 실행을 반환합니다.
and PipelineRunCompletedOn/Date ge {startdate}
지정된 날짜 또는 그 이후에 실행되는 파이프라인에 대한 작업 결과를 반환합니다.
and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded')
성공하거나 부분적으로 성공한 파이프라인 실행에 대해서만 작업 결과를 반환합니다.
and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1)
취소, 건너뛰기 또는 중단된 파이프라인 실행을 생략합니다.
)
절을 닫습니다 filter()
.
/compute(
Start compute()
절입니다.
percentile_cont(ActivityDurationSeconds, 0.5, TaskDisplayName) as TaskDuration50thPercentileInSeconds,
각 태스크에 대해 필터 조건과 일치하는 모든 작업에 대한 작업 기간의 50번째 백분위수 계산
percentile_cont(ActivityDurationSeconds, 0.8, TaskDisplayName) as TaskDuration80thPercentileInSeconds,
각 태스크에 대해 필터 조건과 일치하는 모든 작업에 대한 작업 기간의 80번째 백분위수 계산
percentile_cont(ActivityDurationSeconds, 0.95, TaskDisplayName) as TaskDuration95thPercentileInSeconds)
각 태스크에 대해 필터 조건과 일치하는 모든 작업에 대한 작업 기간의 95번째 백분위수 계산
/groupby(
절을 시작합니다 groupby()
.
(TaskDuration50thPercentileInSeconds, TaskDuration80thPercentileInSeconds,TaskDuration95thPercentileInSeconds, TaskDisplayName))
파이프라인 실행 및 계산일별 50번째 백분위수 작업 기간, 80번째 백분위수 작업 기간 및 95번째 백분위수 작업 기간의 작업별로 그룹화합니다.
&$orderby=TaskDuration50thPercentileInSeconds desc
50번째 백분위수 기간이 가장 높은 작업별로 응답을 정렬합니다.
(선택 사항) 쿼리 이름 바꾸기
기본 쿼리 레이블인 Query1의 이름을 좀 더 의미 있는 것으로 바꿀 수 있습니다. 쿼리 설정 창에서 새 이름을 입력하기만 하면 됩니다.
열 데이터 형식 변경
변환 메뉴에서 다음 열의 데이터 형식을 변경하여 Decimal Number**.
방법을 알아보려면 열 데이터 형식 변환을 참조하세요.
- TaskDuration80thPercentileInSeconds
- TaskDuration80thPercentileInSeconds
- TaskDuration95thPercentileInSeconds
.
(선택 사항) 열 필드 이름 바꾸기
열 필드의 이름을 바꿀 수 있습니다. 예를 들어 다음 열의 이름을 더 잘 표시할 수 있도록 이름을 바꿀 수 있습니다. 방법을 알아보려면 열 필드 이름을 바꿉니다.
원래 필드 이름 | 이름이 바뀐 필드 |
---|---|
TaskDisplayName |
작업 이름 |
TaskDuration50thPercentileInSeconds |
50번째 백분위수 |
TaskDuration80thPercentileInSeconds |
80번째 백분위수 |
TaskDuration95thPercentileInSeconds |
95번째 백분위수 |
쿼리를 닫고 변경 내용 적용
모든 데이터 변환을 완료한 후 홈 메뉴에서 닫기 및 적용 을 선택하여 쿼리를 저장하고 Power BI의 보고서 탭으로 돌아갑니다.
테이블 보고서 만들기
Power BI의 시각화에서 테이블 보고서를 선택합니다. 열 필드 이름 바꾸기 섹션에 표시된 대로 필드 이름이 바뀌었습니다.
지정한 순서대로 열에 다음 필드를 추가합니다.
- 작업 이름
- 50번째 백분위수
- 80번째 백분위수
- 95번째 백분위수
보고서 제목을 변경하려면 시각화 창에서 시각적 그림판 브러시 서식 아이콘을 선택하고, 일반을 선택하고, 제목을 확장하고, 기존 텍스트를 바꿉니다.
다음 이미지는 결과 보고서의 일부를 보여줍니다.