Рекомендации по аналитике

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Аналитика — это платформа отчетов для Azure DevOps, которая позволяет получать аналитические сведения от данных и принимать решения на основе данных. Аналитика оптимизирована для быстрого доступа к чтению и агрегатов на основе сервера, а также предоставляет различные средства для визуализации и анализа данных. В этой статье мы поделимся некоторыми рекомендациями по использованию Аналитики в Azure DevOps.

Необходимые компоненты

  • Чтобы просмотреть данные аналитики и запросить службу, необходимо быть членом проекта с базовым доступом или большим доступом. По умолчанию все члены проекта предоставляют разрешения для запроса аналитики и определения представлений Аналитики.
  • Дополнительные сведения о других предварительных требованиях для включения служб и функций и общих действий по отслеживанию данных см. в статье "Разрешения и предварительные требования для доступа к аналитике".
  • Если вы являетесь разработчиком расширений, ознакомьтесь с рекомендациями по запросам OData Analytics.

Знакомство с метаданными Аналитики

Запросите метаданные Аналитики, чтобы получить представление о типах сущностей, наборах сущностей, свойствах и перечисленных списках. Дополнительные сведения см. в статье "Запрос службы аналитики", метаданных OData и "Сущности и свойства" для Azure Boards.

Структура запроса для возврата необходимых данных

Чтобы запросить минимальный набор данных, который необходимо создать отчет, выполните следующие действия.

Выберите набор сущностей для поддержки отчета

Хотя в модели данных аналитики поддерживается несколько EntitySets , для создания отчетов используется только несколько.EntitySets используется для создания отчетов, которые делятся на три категории:

  • Current: содержит сведения о текущей EntityTypes конфигурации, содержащейся в объекте EntitySet.
  • Моментальный снимок: составные сущности, которые объединяют исторические и связанные с датой данные. Сущности моментальных снимков предназначены для поддержки отчетов агрегирования.
  • Редакция: содержит исторические сведения. Например, WorkItemRevision сохраняет данные о журнале рабочих элементов.

Ниже приведен краткий справочник по EntityTypes для указания поддержки отчетов. Описание каждого из этих EntityTypes см. в разделе "Модель данных для аналитики".

Данные Azure DevOps Текущие Снимок Исправление
Azure Boards WorkItems WorkItemSnapshot
WorkItemBoardSnapshot
WorkItemRevisions
Azure Pipelines Pipelines
PipelineTasks
ParallelPipelineJobsSnapshot
PipelineRuns, PipelineRunActivityResults
Azure Pipelines and Tests TestResultsDaily TestRuns
Планы тестирования Azure Tests
TestConfiguration
TestPoints
WorkItems
TestResultsDaily
TestPointHistorySnapshot

Указание частей запроса в порядке их выполнения

Рекомендуемый порядок для различных частей запроса заключается в том, чтобы указать их в следующем порядке, который является порядком их оценки. Описание каждой части запроса см. в разделе "Запрос службы аналитики", "Параметры запроса".

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

Все запросы должны содержать $apply предложение или $select предложение, в противном случае может появиться предупреждение.

Ограничение столбцов, которые вы запрашиваете в запросе

Столбцы данных указываются для возврата с помощью $select предложения. При настройке рабочие элементы могут иметь множество полей, связанных с ними. Чем больше свойств или полей, на которые ссылается запрос, тем дороже, чем для обработки. Рассмотрим отчет, который нужно создать, и убедитесь, что запрашиваются только необходимые поля.

Например, чтобы вернуть идентификатор, тип рабочего элемента, название и состояние для отфильтрованного набора рабочих элементов, укажите следующее $select предложение: $select=WorkItemId, WorkItemType, Title, State

Сведения о поиске списка свойств и их соответствующих имен полей см. в справочнике по сущностям и свойствам для Azure Boards.

Создание предварительных запросов

Запросы предварительной версии — это запросы, возвращающие одну запись или небольшое подмножество записей. Создав предварительный просмотр запроса, вы можете уточнить запрос, чтобы убедиться, что запрашиваются необходимые данные. Начиная с минимального запроса, вы можете создать запрос, чтобы убедиться, что вы указываете нужные записи и нужные данные столбца.

С помощью этой apply=aggregate($count as Count)функции можно определить количество запрашиваемых записей. Например, следующий синтаксис запрашивает количество рабочих элементов для проекта Fabrikam Fibre .

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
  }
  ]
}

Ограничение запросов к проектам, к которых у вас есть доступ

Запросы project-область возвращают сведения о одном проекте, а запросы область организации предназначены для возврата сведений, пересекающих границы проекта. Для область запросов организации требуются более широкие разрешения пользователей или осторожные ограничения области, чтобы убедиться, что запрос не заблокирован из-за отсутствия разрешений проекта.

Если у вас есть доступ к одному или нескольким проектам, но не всем проектам, и вы отправляете запрос на область организации, вы получите сообщение об ошибке.

"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."

Дополнительные сведения см. в статье "Проект" и область управляемых запросов.

Просмотр предупреждений и сообщений об ошибках

Аналитика проверяет каждый запрос, который он получает за нарушения своих правил. Он возвращает предупреждающие сообщения при обнаружении нарушения. Рекомендуется просмотреть эти сообщения, чтобы исправить или улучшить структуру запроса.

Ограничения скорости и регулирование

Запросы, сделанные в Аналитику для Azure DevOps Services, подвергаются ограничениям скорости. Если слишком много запросов отправляются, запрашивающие возврат больших объемов данных в течение короткого промежутка времени, служба может быть подвержена регулированию. Дополнительные сведения см. в разделе "Ограничения скорости и использования".

Вы можете просмотреть использование службы и отдельных лиц, перейдя в организацию Параметры> Usage и выполняя фильтры. Например, на следующем рисунке показано использование Jamal Hartnett в службе Аналитики.

Снимок экрана: страница