Рекомендации по аналитике
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 |
Указание частей запроса в порядке их выполнения
Рекомендуемый порядок для различных частей запроса заключается в том, чтобы указать их в следующем порядке, который является порядком их оценки. Описание каждой части запроса см. в разделе "Запрос службы аналитики", "Параметры запроса".
$apply
$filter
$orderby
$expand
$select
$skip
$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
}
]
}
Ограничение запросов к проектам, к которых у вас есть доступ
Запросы области проекта возвращают сведения о одном проекте, а запросы области организации предназначены для возврата сведений, пересекающих границы проекта. Для запросов в области организации требуются более широкие разрешения пользователей или осторожные ограничения области, чтобы убедиться, что запрос не заблокирован из-за отсутствия разрешений проекта.
Если у вас есть доступ к одному или нескольким проектам, но не ко всем проектам, и вы отправляете запрос в области организации, вы получите сообщение об ошибке.
"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, подвергаются ограничениям скорости. Если слишком много запросов отправляются, запрашивающие возврат больших объемов данных в течение короткого промежутка времени, служба может быть подвержена регулированию. Дополнительные сведения см. в разделе "Ограничения скорости и использования".
Вы можете просмотреть использование службы и отдельных лиц, перейдя в раздел "Параметры> организации" и выполняя фильтры. Например, на следующем рисунке показано использование Jamal Hartnett в службе Аналитики.