분석 모범 사례

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Analytics는 데이터에서 인사이트를 얻고 데이터 기반 의사 결정을 내릴 수 있는 Azure DevOps의 보고 플랫폼입니다. 분석은 빠른 읽기 액세스 및 서버 기반 집계에 최적화되어 있으며 데이터를 시각화하고 분석하는 다양한 도구를 제공합니다. 이 문서에서는 Azure DevOps에서 분석을 사용하기 위한 몇 가지 모범 사례를 공유합니다.

필수 조건

  • 분석 데이터를 보고 서비스를 쿼리하려면 기본 액세스 이상의 프로젝트 멤버여야 합니다. 기본적으로 모든 프로젝트 멤버에는 분석을 쿼리하고 분석 뷰를 정의할 수 있는 권한이 부여됩니다.
  • 서비스 및 기능 사용 및 일반 데이터 추적 활동과 관련된 다른 필수 구성 요소에 대해 알아보려면 분석에 액세스하기 위한 사용 권한 및 필수 구성 요소를 참조 하세요.
  • 확장 개발자인 경우 OData Analytics 쿼리 지침을 검토해야 합니다.

분석 메타데이터에 대해 알아보기

분석 메타데이터를 쿼리하여 엔터티 형식, 엔터티 집합, 속성 및 열거된 목록을 숙지합니다. 자세한 내용은 Azure Boards에 대한 Analytics 서비스, Analytics OData 메타데이터엔터티 및 속성 참조 쿼리를 참조하세요.

필요한 데이터를 반환하도록 쿼리 구조화

보고서를 만드는 데 필요한 최소 데이터 집합을 쿼리하려면 다음 방법을 따르세요.

보고서를 지원하도록 엔터티 집합 선택

분석 데이터 모델에서 지원되는 몇 EntitySets 가지가 있지만 보고서를 생성하는 데는 몇 가지만 사용됩니다.EntitySets 보고서를 작성하는 데 사용되는 세 가지 범주로 분류됩니다.

  • 현재: 에 포함된 현재 구성에 EntityTypes 대한 정보를 포함합니다 EntitySet.
  • 스냅샷: 기록 및 날짜 관련 데이터를 결합하는 복합 엔터티입니다. 스냅샷 엔터티는 집계 보고서를 지원하는 데 사용됩니다.
  • 수정 버전: 기록 정보를 포함합니다. 예를 들어 WorkItemRevision 기본 작업 항목의 기록에 대한 데이터를 가져옵니다.

다음은 보고서를 지원하도록 지정하는 EntityTypes에 대한 빠른 참조입니다. 이러한 각 EntityTypes에 대한 설명은 분석용 데이터 모델을 참조 하세요.

Azure DevOps 데이터 현재 스냅샷 Revision
Azure Boards WorkItems WorkItemSnapshot
WorkItemBoardSnapshot
WorkItemRevisions
Azure Pipelines Pipelines
PipelineTasks
ParallelPipelineJobsSnapshot
PipelineRuns, PipelineRunActivityResults
Azure Pipelines 및 테스트 TestResultsDaily TestRuns
Azure Test Plans Tests
TestConfiguration
TestPoints
WorkItems
TestResultsDaily
TestPointHistorySnapshot

쿼리 파트가 실행되는 순서대로 지정

다양한 쿼리 파트에 권장되는 순서는 평가되는 순서인 다음 순서로 지정하는 것입니다. 각 쿼리 부분에 대한 설명은 분석 서비스 쿼리, 쿼리 옵션을 참조 하세요.

  1. $apply
  2. $filter
  3. $orderby
  4. $expand
  5. $select
  6. $skip
  7. $top

모든 쿼리는 또는 $select 절을 $apply 포함해야 합니다. 그렇지 않으면 경고 메시지가 표시될 수 있습니다.

쿼리에서 요청하는 열 제한

절을 사용하여 반환할 데이터 열을 지정합니다 $select . 사용자 지정을 사용하면 작업 항목에 연결된 여러 필드가 있을 수 있습니다. 쿼리에서 참조하는 속성이나 필드가 많을수록 처리 비용이 더 많이 듭니다. 생성하려는 보고서를 고려하고 필요한 필드만 요청하고 있는지 확인합니다.

예를 들어 필터링된 작업 항목 집합에 대한 ID, 작업 항목 유형, 제목 및 상태 필드를 반환하려면 다음 $select$select=WorkItemId, WorkItemType, Title, State을 지정합니다.

속성 목록과 해당 필드 이름을 조회하려면 Azure Boards에 대한 엔터티 및 속성 참조를 참조 하세요.

미리 보기 쿼리 만들기

미리 보기 쿼리는 단일 레코드 또는 작은 레코드 하위 집합을 반환하는 쿼리입니다. 미리 보기 쿼리를 만들어 필요한 데이터를 요청하도록 쿼리를 구체화할 수 있습니다. 최소 쿼리로 시작하여 원하는 레코드와 필요한 열 데이터를 지정하도록 쿼리를 작성할 수 있습니다.

apply=aggregate($count as Count)사용하여 요청하는 레코드 수를 식별할 수 있습니다. 예를 들어 다음 구문은 Fabrikam 파이버 프로젝트의 작업 항목 수를 쿼리합니다.

https://analytics.dev.azure.com/content-learn/Content/_odata/v4.0-preview/WorkItems? $apply=aggregate($count as Count)

응답은 총 1415개의 작업 항목을 반환합니다.

{
  "@odata.context": "https://analytics.dev.azure.com/fabrikam/Fabrikam Fbier/_odata/v4.0-preview/$metadata#WorkItems(Count)",
   "value": [
  {
     "@odata.id": null,
   "Count": 1415
  }
  ]
}

액세스 권한이 있는 프로젝트로 쿼리 제한

프로젝트 범위 쿼리는 단일 프로젝트에 대한 정보를 반환하는 반면 조직 범위 쿼리는 프로젝트 경계를 넘어 정보를 반환하도록 설계되었습니다. 조직 범위 쿼리에는 프로젝트 권한 부족으로 인해 쿼리가 차단되지 않도록 보다 광범위한 사용자 권한 또는 신중한 범위 제한 사항이 필요합니다.

하나 이상의 프로젝트에 액세스할 수 있지만 모든 프로젝트가 아닌 조직 범위 쿼리를 제출하면 오류 메시지가 표시됩니다.

"VS403496: The query results include data in one or more projects for which you do not have access. Add one or more projects filters to specify the project(s) you have access to in 'WorkItems' entity. If you're using $expand or navigation properties, project filter is required for those entities. More information can be found here: https://go.microsoft.com/fwlink/?LinkId=786441."

자세한 내용은 Project 및 조직 범위 쿼리를 참조 하세요.

경고 및 오류 메시지 검토

Analytics는 해당 규칙 위반에 대해 수신하는 각 쿼리를 검토합니다. 위반을 감지하면 경고 메시지를 반환합니다. 이러한 메시지를 검토하여 쿼리 구조를 수정하거나 개선하는 것이 좋습니다.

속도 제한 및 제한

Azure DevOps Services용 Analytics에 대한 쿼리에는 속도 제한이 적용됩니다. 짧은 시간 내에 대량의 데이터 반환을 요청하는 쿼리가 너무 많이 전송되면 서비스가 제한될 수 있습니다. 자세한 내용은 속도 및 사용량 제한을 참조 하세요.

조직 설정>사용으로 이동하여 필터를 실행하여 서비스 및 개인에 대한 사용량을 검토할 수 있습니다. 예를 들어 다음 이미지는 Jamal Hartnett가 Analytics 서비스에 사용하는 방법을 보여 줍니다.

단일 사용자 및 분석에 대한 사용량 페이지의 스크린샷