Freigeben über


Beispielbericht zur Dauer des Pipelinevorgangs

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

Wie lange dauert es, bis verschiedene Aufgaben abgeschlossen werden? Dieser Artikel enthält die Abfragen, aus denen Sie einen Bericht für eine bestimmte Pipeline und deren Aufgaben generieren können. Die folgende Abbildung listet beispielsweise das 50., 80. und 95. Quantil in Sekunden für alle Aufgaben auf, die für eine bestimmte Pipeline vom 1. September bis zum 15. Dezember 2022 abgeschlossen wurden.

Screenshot des Trendberichts zur Vorgangsdauer von Power BI-Pipelines.

Wichtig

Power BI-Integration und Zugriff auf den OData-Feed des Analytics-Diensts sind in der Regel für Azure DevOps Services und Azure DevOps Server 2020 und höhere Versionen verfügbar. Die in diesem Artikel bereitgestellten Beispielabfragen gelten nur für Azure DevOps Server 2020 und höhere Versionen und hängen von version 3.0-preview oder höher ab. Wir empfehlen Ihnen, diese Abfragen zu verwenden und uns Feedback zu geben.

Voraussetzungen

Hinweis

In diesem Artikel wird davon ausgegangen, dass Sie eine Übersicht über Beispielberichte mit OData-Abfragen lesen und ein grundlegendes Verständnis von Power BI haben.

Beispielabfragen

Sie fragen die Entität ab, die PipelineRunActivityResults? festgelegt ist, um Informationen zur Vorgangsdauer zurückzugeben.

Hinweis

Informationen zum Ermitteln verfügbarer Eigenschaften für Filter- oder Berichtszwecke finden Sie unter Metadatenreferenz für Azure Pipelines. Sie können Ihre Abfragen filtern oder Eigenschaften zurückgeben, indem Sie einen der Werte unter oder NavigationPropertyBinding PathEntityType verwenden, die Property mit einem EntitySetverfügbar sind. Jede EntitySet entspricht einem EntityType. Weitere Informationen zum Datentyp der einzelnen Werte erhalten Sie in den Metadaten, die für den entsprechenden Wert EntityTypebereitgestellt werden.

Kopieren Sie die folgende Power BI-Abfrage, und fügen Sie sie direkt in das Fenster "Leere Datenabfrage> abrufen" ein. Weitere Informationen finden Sie unter Übersicht über Beispielberichte mit OData-Abfragen.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRunActivityResults?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelinename}' "
                &"and PipelineRunCompletedOn/Date ge {startdate} "
                &"and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded') "
        &"and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1) "
        &") "
            &"/compute( "
                &"percentile_cont(ActivityDurationSeconds, 0.5, TaskDisplayName) as TaskDuration50thPercentileInSeconds, "
                &"percentile_cont(ActivityDurationSeconds, 0.8, TaskDisplayName) as TaskDuration80thPercentileInSeconds, "
            &"percentile_cont(ActivityDurationSeconds, 0.95, TaskDisplayName) as TaskDuration95thPercentileInSeconds) "
                &"/groupby( "
            &"(TaskDuration50thPercentileInSeconds, TaskDuration80thPercentileInSeconds,TaskDuration95thPercentileInSeconds, TaskDisplayName)) "
        &"&$orderby=TaskDuration50thPercentileInSeconds desc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Ersetzungszeichenfolgen und Abfrageaufschlüsselung

Ersetzen Sie die folgenden Zeichenfolgen durch Ihre Werte. Schließen Sie keine Klammern {} in Ihre Ersetzung ein. Wenn Ihr Organisationsname beispielsweise "Fabrikam" lautet, ersetzen Sie {organization} durch Fabrikam, nicht {Fabrikam}.

  • {organization} - Name Ihrer Organisation
  • {project} - Name Ihres Teamprojekts
  • {pipelinename} - Ihr Pipelinename. Beispiel: Fabrikam hourly build pipeline
  • {startdate} - Das Datum, an dem Der Bericht beginnt. Format: JJJJ-MM-DDZ. Beispiel: 2021-09-01Z steht für den 1. September 2021. Schließen Sie keine Anführungszeichen oder eckigen Klammern ein, und verwenden Sie zwei Ziffern sowohl für Monat als auch für Datum.

Abfrageaufschlüsselung

In der folgenden Tabelle werden die einzelnen Teile der Abfrage beschrieben.

Abfrageteil

Beschreibung


$apply=filter(

Startklausel filter() .

Pipeline/PipelineName eq '{pipelinename}'

Die Rückgabepipeline wird für die angegebene Pipeline ausgeführt.

and PipelineRunCompletedOn/Date ge {startdate}

Zurückgeben von Vorgangsergebnissen für eine Pipeline, die am oder nach dem angegebenen Datum ausgeführt wird.

and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded')

Zurückgeben von Vorgangsergebnissen für nur erfolgreiche oder teilweise erfolgreiche Pipelineläufe.

and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1)

Lassen Sie pipelineausführungen aus, die abgebrochen, übersprungen oder abgebrochen wurden.

)

Schließen Sie die filter() Klausel.

/compute(

Startklausel compute() .

percentile_cont(ActivityDurationSeconds, 0.5, TaskDisplayName) as TaskDuration50thPercentileInSeconds,

Berechnen Sie für jeden Vorgang das 50. Quantil der Vorgangsdauer für alle Vorgänge, die den Filterkriterien entsprechen.

percentile_cont(ActivityDurationSeconds, 0.8, TaskDisplayName) as TaskDuration80thPercentileInSeconds,

Berechnen Sie für jeden Vorgang das 80. Quantil der Vorgangsdauer für alle Vorgänge, die den Filterkriterien entsprechen.

percentile_cont(ActivityDurationSeconds, 0.95, TaskDisplayName) as TaskDuration95thPercentileInSeconds)

Berechnen Sie für jeden Vorgang das 95. Quantil der Vorgangsdauer für alle Vorgänge, die den Filterkriterien entsprechen.

/groupby(

Starten Sie die groupby() Klausel.

(TaskDuration50thPercentileInSeconds, TaskDuration80thPercentileInSeconds,TaskDuration95thPercentileInSeconds, TaskDisplayName))

Gruppieren Nach Pipelineausführung und berechneter Tag für 50. Quantil-Vorgangsdauer, 80. Quantil-Vorgangsdauer und 95. Quantil-Vorgangsdauer.

&$orderby=TaskDuration50thPercentileInSeconds desc

Ordnen Sie die Antwort nach Aufgabe mit der höchsten 50. Quantildauer an.

(Optional) Abfrage umbenennen

Sie können die Standardabfragebezeichnung Query1 in aussagekräftiger umbenennen. Geben Sie einfach im Bereich Abfrageeinstellungen einen neuen Namen ein.

Screenshot: Menüoptionen für Power BI-Abfragen, Abfrage umbenennen.

Ändern des Spaltendatentyps

Ändern Sie im Menü "Transformieren " den Datentyp für die folgenden Spalten, um Decimal Number**. zu erfahren, wie das geht, finden Sie unter Transformieren eines Spaltendatentyps.
- TaskDuration80thPercentileInSeconds - TaskDuration80thPercentileInSeconds - TaskDuration95thPercentileInSeconds.

(Optional) Umbenennen von Spaltenfeldern

Sie können Spaltenfelder umbenennen. Sie können z. B. die folgenden Spalten umbenennen, sodass sie anzeigefreundlicher sind. Informationen dazu finden Sie unter Umbenennen von Spaltenfeldern.

Ursprünglicher Feldname Umbenanntes Feld
TaskDisplayName Aufgabenname
TaskDuration50thPercentileInSeconds 50. Quantil
TaskDuration80thPercentileInSeconds 80. Quantil
TaskDuration95thPercentileInSeconds 95. Quantil

Schließen Sie die Abfrage, und wenden Sie Ihre Änderungen an.

Nachdem Sie alle Datentransformationen abgeschlossen haben, wählen Sie "Schließen" und "Übernehmen " im Menü "Start " aus, um die Abfrage zu speichern und zur Registerkarte "Bericht " in Power BI zurückzukehren.

Screenshot der Option

Erstellen des Tabellenberichts

  1. Wählen Sie in Power BI unter "Visualisierungen" den Tabellenbericht aus. Felder wurden umbenannt, wie im Abschnitt "Spaltenfelder umbenennen" angegeben.

    Screenshot der Auswahl von Visualisierungsfeldern für den Bericht zur Vorgangsdauertabelle.

  2. Fügen Sie die folgenden Felder zu den Spalten in der angegebenen Reihenfolge hinzu.

    • Vorgangsname
    • 50. Quantil
    • 80. Quantil
    • 95. Quantil
  3. Wenn Sie den Berichtstitel ändern möchten, wählen Sie im Bereich "Visualisierungen" das Symbol "Formatieren des visuellen Pinsels" aus, wählen Sie "Allgemein" aus, erweitern Sie "Titel", und ersetzen Sie den vorhandenen Text.

Die folgende Abbildung zeigt einen Teil des resultierenden Berichts.

Screenshot des Trendberichts zu Power BI Pipelines -Beispielaufgabendauertabellen.