Udostępnij przez


Model danych dla analizy

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Model danych analizy dla usługi Azure DevOps składa się z zestawów jednostek, których elementy członkowskie (jednostki) zawierają właściwości, które można filtrować, agregować i podsumowywać. Ponadto zawierają właściwości nawigacji, które odnoszą jednostki do siebie, zapewniając dostęp do innych właściwości do wybierania, filtrowania i grupowania.

Uwaga

Usługa Analizy jest automatycznie włączona i obsługiwana w środowisku produkcyjnym dla wszystkich usług w usłudze Azure DevOps Services. Integracja z usługą Power BI i dostęp do źródła danych OData usługi Analytics są ogólnie dostępne. Zachęcamy do korzystania ze źródła danych OData Analytics i dzielenia się opiniami.

Dostępne dane są zależne od wersji. Najnowsza obsługiwana wersja interfejsu API OData to v2.0, a najnowsza wersja zapoznawcza to v4.0-preview. Aby uzyskać więcej informacji, zobacz Versionowanie interfejsu API OData.

Uwaga

Usługa Analytics jest automatycznie instalowana i obsługiwana w środowisku produkcyjnym dla wszystkich nowych kolekcji projektów dla usługi Azure DevOps Server 2020 i nowszych wersji. Integracja z usługą Power BI i dostęp do źródła danych OData usługi Analytics są ogólnie dostępne. Zachęcamy do korzystania ze źródła danych OData Analytics i dzielenia się opiniami. Jeśli uaktualnisz program Azure DevOps Server 2019, możesz zainstalować usługę Analytics podczas uaktualniania.

Dostępne dane są zależne od wersji. Najnowsza obsługiwana wersja interfejsu API OData to v2.0, a najnowsza wersja zapoznawcza to v4.0-preview. Aby uzyskać więcej informacji, zobacz Versionowanie interfejsu API OData.

Omówienie modelu danych analizy

Usługa Analiza zapewnia ustrukturyzowane podejście do uzyskiwania dostępu do danych usługi Azure DevOps za pośrednictwem punktów końcowych OData. Ten model danych umożliwia:

  • Wykonywanie zapytań dotyczących danych śledzenia pracy: uzyskiwanie dostępu do elementów roboczych, obszarów, iteracji i powiązanych metadanych
  • Analizowanie informacji o potoku: wykonywanie zapytań dotyczących danych potoku kompilacji i wydania
  • Raport dotyczący wyników testów: Uzyskiwanie dostępu do danych dotyczących wykonywania testów i planowania
  • Tworzenie niestandardowych raportów: Tworzyć raporty w Power BI i tworzyć inne rozwiązania analityczne

Przestrzenie nazw schematów

Model danych analitycznych działa w dwóch przestrzeniach nazw schematu:

  • Microsoft.VisualStudio.Services.Analytics.Model
  • Microsoft.VisualStudio.Services.Analytics

Te przestrzenie nazw organizują jednostki i definiują ich strukturę, zapewniając spójne wzorce dostępu do danych w różnych funkcjach usługi Azure DevOps.

Zestawy jednostek i typy jednostek

Typy jednostek są nazywane typami ustrukturyzowanymi z kluczem. Definiują one nazwane właściwości i relacje każdej jednostki. Klucz EntityType powstaje z podzbioru podstawowych właściwości — na przykład WorkItemId, PipelineId, ReleasePipelineId — oraz innych właściwości typu encji.

Zestawy jednostek są nazwane kolekcjami jednostek. Na przykład WorkItems to zestaw jednostek zawierający WorkItem jednostki. Klucz jednostki jednoznacznie identyfikuje jednostkę w zestawie jednostek. Jeśli wiele zestawów jednostek używa tego samego typu jednostki, ta sama kombinacja wartości kluczy może pojawić się w więcej niż jednym zestawie jednostek i zidentyfikować różne jednostki, jeden na zestaw jednostek, w którym pojawia się ta kombinacja. Każda z tych jednostek ma inny identyfikator jednostki. Zestawy jednostek zapewniają punkty wejścia do modelu danych.

Zestawy jednostek są opisane w metadanych OData i różnią się w zależności od projektu. Pełną listę zestawów jednostek, typów jednostek i właściwości można eksplorować, żądając metadanych OData dla projektu. Aby dowiedzieć się, jak to zrobić, zobacz Konstruowanie zapytań OData na potrzeby analizy.

Jednostki złożone

Jednostki złożone obsługują określone scenariusze. System komponuje je z prostszych jednostek, często wymaga więcej zasobów obliczeniowych do wygenerowania i może zwrócić większe zestawy wyników. Aby uzyskać najlepszą wydajność i uniknąć niepotrzebnego ograniczania przepustowości, upewnij się, że wykonasz zapytanie o poprawną jednostkę dla danego scenariusza.

Na przykład WorkItemSnapshot łączy WorkItemRevisions i Dates w taki sposób, że każda data ma jedną poprawkę dla każdego elementu roboczego. Ta reprezentacja obsługuje zapytania OData, które koncentrują się na danych trendu dla filtrowanego zestawu elementów roboczych. Nie należy jednak używać tej jednostki złożonej do wykonywania zapytań dotyczących bieżącego stanu elementów roboczych. Zamiast tego należy użyć WorkItems zestawu jednostek, aby szybciej generować uruchomione zapytanie.

Podobnie niektóre jednostki mogą zawierać wszystkie wartości historyczne, a inne mogą zawierać tylko bieżące wartości. WorkItemRevisions zawiera całą historię elementów roboczych, których nie należy używać w scenariuszach, w których bieżące wartości są interesujące.

Relacje

Aby wygenerować bardziej złożone wyniki zapytania, można połączyć jednostki przy użyciu relacji. Relacje można stosować do rozszerzania, filtrowania lub podsumowywania danych.

Niektóre właściwości nawigacji powodują utworzenie pojedynczej jednostki, a inne powodują zbieranie jednostek. Na poniższym diagramie przedstawiono wybieranie jednostek i ich właściwości nawigacji. W celu zapewnienia przejrzystości pominięto niektóre złożone jednostki i relacje.

Diagram relacji dla modelu danych analizy.

Informacje o relacjach między jednostkami

Model danych analizy używa kilku typów relacji:

  • Jeden do wielu: jedna jednostka nadrzędna odnosi się do wielu jednostek podrzędnych (np. jednego obszaru do wielu elementów roboczych)
  • Wiele do jednego: wiele jednostek odnosi się do pojedynczej jednostki nadrzędnej (np. wiele elementów roboczych do jednego obszaru)
  • Jeden do jednego: jedna jednostka jest powiązana z dokładnie jedną inną jednostką
  • Wiele do wielu: Wiele encji jest powiązanych z wieloma innymi encjami (np. Elementy robocze do tagów)

Klucze relacji

Relacje między jednostkami są również reprezentowane jako klucze obce, dzięki czemu narzędzia zewnętrzne mogą łączyć jednostki. Te właściwości mają sufiks "SK" i są typami danych: liczba całkowita lub GUID. Właściwości daty mają odpowiadające właściwości klucza daty liczbowej o następującym formacie: RRRRMMDD.

Typy jednostek i zestawy jednostek śledzenia pracy

Następujące typy jednostek i zestawy jednostek są obsługiwane w przypadku wskazanych wersji interfejsu API. Aby uzyskać pełną dokumentację, zobacz Dokumentacja metadanych śledzenia pracy dla usługi Azure Boards Analytics.

EntityType/EntitySet opis Wersja 1.0 Wersja 2.0 Wersja 3.0 (wersja zapoznawcza) Wersja 4.0 —wersja zapoznawcza
Obszar/
Obszary
Element roboczy Ścieżki obszaru z właściwościami do grupowania i filtrowania według hierarchii obszarów. ✔️ ✔️ ✔️ ✔️
Iteracja/
Iteracji
Ścieżki iteracji elementu roboczego z właściwościami do grupowania i filtrowania według hierarchii iteracji. ✔️ ✔️ ✔️ ✔️
Lokalizacja tablicy/
LokalizacjeZarządu
Lokalizacje komórek tablicy, zidentyfikowane na podstawie kolumny tablicy, ścieżki i podziału, obejmują historyczne ustawienia tablicy. Aby uzyskać opis każdego pola tablicy, zobacz Pola przepływu pracy i tablicy. ✔️ ✔️ ✔️ ✔️
Daty kalendarza/
Daty
Daty używane do filtrowania i grupowania innych jednostek przy użyciu relacji. ✔️ ✔️ ✔️ ✔️
Projekt/
Projekty
Wszystkie projekty zdefiniowane dla organizacji (chmury) lub kolekcji projektów (lokalnie). ✔️ ✔️ ✔️ ✔️
Proces/
Procesy
Informacje dotyczące zaległości używane do rozszerzania lub filtrowania elementów pracy i typów elementów pracy. Przykład, który używa procesów do filtrowania raportu, zobacz Przykładowy raport dotyczący śledzenia wymagań. ✔️ ✔️ ✔️
Znacznik/
Tagi
Wszystkie tagi elementów roboczych dla każdego projektu. Przykład użycia Tagów do filtrowania raportu można znaleźć w raporcie Release burndown sample report (Przykładowy raport dotyczący wydań). ✔️ ✔️ ✔️ ✔️
Zespół/
Zespoły
Wszystkie zespoły zdefiniowane dla projektu. Przykład, który używa usługi Teams do filtrowania raportu, zobacz Dodawanie fragmentatora zespołu do raportu usługi Power BI. ✔️ ✔️ ✔️ ✔️
Użytkownik/
Użytkownicy
Informacje o użytkowniku używane do rozwijania lub filtrowania różnych właściwości elementu roboczego, na przykład Przypisane do, Utworzone przez. ✔️ ✔️ ✔️ ✔️
WorkItemBoardSnapshot/
ZrzutTablicyElementówRoboczych
(Złożony) Stan każdego elementu roboczego w każdym dniu kalendarzowym, łącznie z lokalizacją na tablicy, wykorzystywany do generowania raportów trendów. Aby zapoznać się z przykładowym raportem, zobacz przykładowy raport diagramu przepływu skumulowanego (CFD). ✔️ ✔️ ✔️ ✔️
WorkItemLink/
LinkiDoElementówPracy
Łącza między elementami roboczymi, na przykład Podrzędne, Nadrzędne i Powiązane. Zawiera tylko najnowszą wersję linków, bez historii. Hiperłącza nie są uwzględniane. ✔️ ✔️ ✔️ ✔️
WorkItemRevision/
WorkItemRevisions
Wszystkie historyczne poprawki elementów roboczych, w tym bieżąca poprawka. Nie obejmuje usuniętych elementów roboczych. ✔️ ✔️ ✔️ ✔️
WorkItemSnapshot/
WorkItemSnapshot
(Złożony) Stan każdego elementu roboczego w każdej dacie kalendarza używany do obsługi raportowania trendów. Aby zapoznać się z przykładowym raportem, zobacz Przykładowy raport dotyczący trendów błędów. ✔️ ✔️ ✔️ ✔️
Element roboczy/
Elementy zadaniowe
Bieżący stan elementów roboczych. Służy do obsługi raportów o stanie. Aby zapoznać się z przykładowym raportem, zobacz Przykładowy raport dotyczący sumowania wartości elementów podrzędnych do nadrzędnych. ✔️ ✔️ ✔️ ✔️
WorkItemTypeField/
WorkItemTypeFields
Właściwości elementu roboczego dla każdego typu i procesu elementu roboczego. Służy do obsługi tworzenia raportów. ✔️ ✔️ ✔️ ✔️

Kluczowe jednostki śledzenia pracy na potrzeby raportowania

Podczas tworzenia raportów należy wziąć pod uwagę następujące podstawowe zestawy jednostek:

  • Bieżące raporty o stanie: użyj WorkItems do określenia bieżącego stanu elementu roboczego
  • Historyczne raporty trendów: używanie WorkItemSnapshot do analizy trendów w czasie
  • Szczegółowe śledzenie zmian: użyj WorkItemRevisions do pełnego zapisu historii
  • Raporty dla określonej tablicy: używaj WorkItemBoardSnapshot do analizy tablic Kanban

Typy jednostek potoków i zestawy jednostek

Następujące typy jednostek i zestawy jednostek są obsługiwane w wersji 3.0-preview lub 4.0-preview Analytics. Aby uzyskać pełną dokumentację, zobacz Dokumentacja metadanych potoku.

TypJednostki/ZestawJednostek opis Wersja 3.0 (wersja zapoznawcza) Wersja 4.0 —wersja zapoznawcza
Gałąź/
Oddziały
Podstawowe informacje o gałęziach używanych w testach lub pipeline'ach. Aby zapoznać się z przykładowym raportem, zobacz Przykładowy raport o stanie postępu. ✔️ ✔️
ParallelPipelineJobsSnapshot/
ParallelPipelineJobsSnapshot
(Złożony) Wspiera zrozumienie sposobu wykorzystania rurociągu równoległego. Aby uzyskać więcej informacji na temat testowania równoległego z zastosowaniem potoków, zobacz Uruchamianie testów równoległych przy użyciu zadania testowego programu Visual Studio. ✔️
Rurociąg/
Rurociągi
Właściwości rurociągu. ✔️ ✔️
PotokJob/
Zadania Pipeline'u
Poszczególne wyniki wykonania dla określonego zadania w ramach przebiegu potoku. ✔️ ✔️
PotokUruchom/
PotokiRuns
Informacje o działaniu dla potoków. Aby zapoznać się z przykładowym raportem, zobacz Przykładowy raport trendu liczby przebiegów potoku. ✔️ ✔️
PipelineRunActivityResult/
PipelineRunActivityResults
Scalony log wszystkich etapów, kroków, prac i zadań w trakcie określonego wykonania potoku. Aby zapoznać się z przykładowym raportem, zobacz Przykładowy raport czasu trwania zadania w procesie pipeline. ✔️ ✔️
PipelineTask/
Zadania pipeline'u
Właściwości zadań używanych w potoku danych. ✔️ ✔️
TaskAgentPoolSizeSnapshot/
TaskAgentPoolSizeSnapshots
(Złożony) Umożliwia zrozumienie rozmiaru puli, zadań potoku i współbieżności. Wykres historyczny dla pul agentów ilustruje sposób użycia tego zestawu jednostek. ✔️
TaskAgentRequestSnapshot/
TaskAgentRequestSnapshots
(Złożony) Zapewnia wgląd w wzorce żądań agentów i wykorzystanie zasobów w czasie. ✔️

Wzorce użycia jednostek potoku

Różne elementy potoku danych obsługują określone scenariusze raportowania.

  • Raporty przeglądu potoków: użyj Pipelines i PipelineRuns do metryk wysokiego poziomu
  • Analiza wydajności: Użyj PipelineRunActivityResults do szczegółowej analizy czasowej
  • Wykorzystanie zasobów: użyj TaskAgentPoolSizeSnapshot do planowania pojemności
  • Analiza niepowodzeń: służy PipelineJobs do śledzenia powodzenia/niepowodzenia na poziomie zadania

Testowanie typów jednostek i zestawów jednostek

Następujące typy jednostek i zestawy jednostek są obsługiwane w wersji 3.0-preview lub 4.0-preview Analytics. Aby uzyskać pełne odniesienie, zobacz Odniesienie do metadanych testu.

EntityType/EntitySet opis Wersja 3.0 (wersja zapoznawcza) Wersja 4.0 —wersja zapoznawcza
Konfiguracja testowa/
Konfiguracje testowe
Informacje o konfiguracji planu testów. Aby uzyskać szczegółowe informacje na temat konfigurowania testów, zobacz Testowanie różnych konfiguracji. ✔️ ✔️
Testresult/
TestResults
Pojedyncze wyniki wykonania dla określonego testu skojarzonego z TestRun. ✔️ ✔️
TestResultsDaily/
TestResultsDaily
Codzienny zrzut zbiorczy wyników TestResult, pogrupowany według testu (a nie przebiegu testu). Aby zapoznać się z przykładowym raportem, zobaczysz Przykładowy raport dotyczący trendów podsumowania testów. ✔️ ✔️
Testrun/
TestRuns
Informacje o wykonywaniu testów uruchamianych w potoku z agregowanymi danymi TestResult. ✔️ ✔️
  Test/
Testy
Właściwości przypadku testowego, takie jak nazwa testu i właściciel testu. Aby uzyskać szczegółowe informacje na temat definiowania przypadków testowych, zobacz Tworzenie ręcznych przypadków testowych. ✔️ ✔️
Testpoint/
Punkty testowe
Informacje o wykonaniu punktów testowych. Punkt testu to unikatowa kombinacja przypadku testowego, zestawu testów, konfiguracji i testera. Aby zapoznać się z przykładowym raportem, zobacz Przykładowy raport o stanie postępu. ✔️ ✔️
TestPointHistorySnapshot/
TestPointHistorySnapshots
(Złożone) Historyczne dane dotyczące realizacji punktów testowych na przestrzeni czasu. Aby zapoznać się z przykładowym raportem, zobacz Przykładowy raport trendu ręcznego wykonywania testów. ✔️ ✔️
TestSuite/
TestSuites
Informacje o zestawach testów. Aby uzyskać szczegółowe informacje na temat definiowania zestawów testów, zobacz Tworzenie planów testów i zestawów testów. ✔️ ✔️

Scenariusze raportowania jednostek testowych

Jednostki testowe obsługują różne potrzeby raportowania:

  • Śledzenie wykonywania testów: używanie funkcji TestResults i TestRuns do szczegółowych danych wykonywania
  • Metryki planowania testów: Użyj TestPoints i TestSuites do planowania pokrycia.
  • Analiza trendów: używanie TestResultsDaily i TestPointHistorySnapshots na potrzeby trendów historycznych
  • Pokrycie konfiguracji: użyj TestConfigurations do przeprowadzania analizy testów wieloplatformowych

Najlepsze rozwiązania dotyczące korzystania z modelu danych analizy

Optymalizacja wydajności

  1. Wybierz odpowiedni element: użyj jednostek informujących o stanie (WorkItems) dla raportów o stanie i elementów migawkowych dla trendów
  2. Filtruj wcześnie: zastosuj filtry na poziomie jednostki, a nie po pobraniu danych
  3. Ogranicz zakresy danych: użyj filtrów dat, aby ograniczyć zapytania dotyczące danych historycznych
  4. Użyj odpowiednich agregacji: korzystaj z wbudowanych funkcji agregacji, jeśli jest to możliwe

Wzorce projektowe zapytań

Bieżące zapytania dotyczące stanu

/WorkItems?$filter=State ne 'Closed'&$select=WorkItemId,Title,State

Zapytania dotyczące trendów historycznych

/WorkItemSnapshot?$filter=DateSK ge 20241001&$select=WorkItemId,State,DateSK

Nawigacja w relacjach

/WorkItems?$expand=Area($select=AreaPath),AssignedTo($select=UserName)

Typowe pułapki do unikania

  • Używanie jednostek poprawek dla bieżącego stanu: Nie używaj WorkItemRevisions, gdy WorkItems wystarcza
  • Nadmierne rozszerzanie relacji: rozwiń tylko niezbędne właściwości nawigacji
  • Brakujące filtry: Zawsze filtruj duże zestawy jednostek, aby zwiększyć wydajność
  • Ignorowanie jednostek złożonych: użyj jednostek złożonych, takich jak WorkItemSnapshot na potrzeby analizy trendów

Zagadnienia dotyczące wersji

Różne wersje interfejsu API zapewniają różne możliwości:

  • Wersja 1.0: Podstawowe obiekty śledzenia pracy
  • Wersja 2.0: Dodano proces i ulepszone możliwości filtrowania
  • Wersja 3.0-preview: dodano potok i elementy testowe
  • Wersja 4.0-preview: ulepszone jednostki złożone (composite entities) i dodatkowe metryki przetwarzania

Wybierz odpowiednią wersję na podstawie wymagań raportowania i jednostek, do których chcesz uzyskać dostęp.