Udostępnij za pośrednictwem


Najlepsze rozwiązania dotyczące analizy

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

Analiza to platforma raportowania dla usługi Azure DevOps, która umożliwia uzyskiwanie szczegółowych informacji z danych i podejmowanie decyzji opartych na danych. Analiza jest zoptymalizowana pod kątem szybkiego dostępu do odczytu i agregacji opartych na serwerze oraz udostępnia różne narzędzia do wizualizacji i analizowania danych. W tym artykule udostępniamy pewne najlepsze rozwiązania dotyczące korzystania z analizy w usłudze Azure DevOps.

Wymagania wstępne

  • Jeśli jesteś deweloperem rozszerzenia, zapoznaj się z wytycznymi dotyczącymi zapytań usługi OData Analytics.

Zapoznaj się z metadanymi analizy

Wykonaj zapytanie dotyczące metadanych analizy, aby poznać typy jednostek, zestawy jednostek, właściwości i wyliczone listy. Aby uzyskać więcej informacji, zobacz Query the Analytics service, OData metadata, and Entities and properties reference for Azure Boards (Wykonywanie zapytań o usługę Analytics, metadane OData analizy) i Entities and properties reference for Azure Boards (Dokumentacja jednostek i właściwości usługi Azure Boards).

Tworzenie struktury zapytania w celu zwrócenia potrzebnych danych

Aby wykonać zapytanie dotyczące minimalnego zestawu danych, należy utworzyć raport, wykonaj następujące rozwiązania:

Wybieranie zestawu jednostek do obsługi raportu

Chociaż istnieje kilka EntitySets obsługiwanych w modelu danych analizy, tylko kilka jest używanych do generowania raportów.EntitySets służy do tworzenia raportów w trzech kategoriach:

  • Bieżący: zawiera informacje o bieżącej konfiguracji zawartej EntityTypes w obiekcie EntitySet.
  • Migawka: jednostki złożone, które łączą dane historyczne i związane z datą. Jednostki migawek mają być używane do obsługi raportów agregacji.
  • Poprawka: zawiera informacje historyczne. Na przykład WorkItemRevision przechowuje dane dotyczące historii elementów roboczych.

Poniżej przedstawiono szybką dokumentację dla parametru EntityTypes, aby określić obsługę raportów. Opis każdego z tych typów jednostek można znaleźć w temacie Model danych dla analizy.

Dane usługi Azure DevOps Bieżąca Snapshot Wersja
Azure Boards WorkItems WorkItemSnapshot
WorkItemBoardSnapshot
WorkItemRevisions
Azure Pipelines Pipelines
PipelineTasks
ParallelPipelineJobsSnapshot
PipelineRuns, PipelineRunActivityResults
Usługa Azure Pipelines i testy TestResultsDaily TestRuns
Azure Test Plans Tests
TestConfiguration
TestPoints
WorkItems
TestResultsDaily
TestPointHistorySnapshot

Określanie części zapytań w kolejności ich wykonania

Zalecaną kolejnością dla różnych części zapytania jest określenie ich w następującej kolejności, czyli kolejności, w której są oceniane. Opis każdej części zapytania można znaleźć w temacie Query the Analytics service (Wykonywanie zapytań w usłudze Analizy) i Query options (Opcje zapytania).

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

Wszystkie zapytania muszą zawierać klauzulę $apply lub $select . W przeciwnym razie może zostać wyświetlony komunikat ostrzegawczy.

Ogranicz żądane kolumny w zapytaniu

Należy określić kolumny danych, które mają być zwracane przy użyciu klauzuli $select . W przypadku dostosowywania elementy robocze mogą mieć wiele pól skojarzonych z nimi. Więcej właściwości lub pól, do których odwołuje się zapytanie, tym droższe jest przetwarzanie. Rozważ raport, który chcesz wygenerować, i upewnij się, że żądasz tylko potrzebnych pól.

Aby na przykład zwrócić identyfikator, typ elementu roboczego, tytuł i stan dla filtrowanego zestawu elementów roboczych, określ następującą $select klauzulę: $select=WorkItemId, WorkItemType, Title, State.

Aby wyszukać listę właściwości i ich odpowiednich nazw pól, zobacz Jednostki i dokumentacja właściwości dla usługi Azure Boards.

Tworzenie zapytań w wersji zapoznawczej

Zapytania w wersji zapoznawczej to zapytania zwracające pojedynczy rekord lub mały podzbiór rekordów. Tworząc zapytanie w wersji zapoznawczej, możesz uściślić zapytanie, aby upewnić się, że żądasz potrzebnych danych. Zaczynając od minimalnej kwerendy, możesz utworzyć zapytanie, aby upewnić się, że określasz żądane rekordy i potrzebne dane kolumn.

Za pomocą apply=aggregate($count as Count)elementu można zidentyfikować liczbę żądanych rekordów. Na przykład poniższa składnia wykonuje zapytanie dotyczące liczby elementów roboczych projektu Fabrikam Fiber .

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

Odpowiedź zwraca łącznie 1415 elementów roboczych.

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

Ograniczanie zapytań do projektów, do których masz dostęp

Zapytania w zakresie projektu zwracają informacje o pojedynczym projekcie, natomiast zapytania w zakresie organizacji są przeznaczone do zwracania informacji, które przekraczają granice projektu. Zapytania w zakresie organizacji wymagają szerszych uprawnień użytkownika lub starannych ograniczeń określania zakresu, aby upewnić się, że zapytanie nie jest blokowane z powodu braku uprawnień projektu.

Jeśli masz dostęp do co najmniej jednego projektu, ale nie wszystkich projektów i przesyłasz zapytanie o zakresie organizacji, zostanie wyświetlony komunikat o błędzie.

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

Aby uzyskać więcej informacji, zobacz Project and organization-scoped queries (Zapytania w zakresie projektu i organizacji).

Przeglądanie komunikatów ostrzegawczych i komunikatów o błędach

Analiza przegląda każde zapytanie odbierane z powodu naruszeń reguł. Zwraca komunikaty ostrzegawcze w przypadku wykrycia naruszenia. Zalecamy przejrzenie tych komunikatów, aby poprawić lub poprawić strukturę zapytań.

Limity szybkości i ograniczanie przepustowości

Zapytania wykonywane do analizy dla usług Azure DevOps Services podlegają limitom szybkości. Jeśli wysyła się zbyt wiele zapytań, które żądają zwrócenia dużych ilości danych w krótkim czasie, usługa może podlegać ograniczaniu przepustowości. Aby uzyskać więcej informacji, zobacz Rate and usage limits (Limity szybkości i użycia).

Możesz przejrzeć użycie usługi i dla użytkowników indywidualnych, przechodząc do pozycji Użycie ustawień>organizacji i wykonując filtry. Na przykład na poniższej ilustracji przedstawiono użycie przez narzędzie Jamal Hartnett do usługi Analytics.

Zrzut ekranu przedstawiający stronę Użycie dla pojedynczego użytkownika i analizy.