Beispielbericht zur Pipelinedauer
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
In diesem Artikel erfahren Sie, wie Sie die Pipelinedauer abrufen oder wie Lange für die Ausführung einer Pipeline benötigt wird. Dieser Bericht ähnelt der Metrik für die Dauerzusammenfassung im Diagramm "Pipelinedauer" des Berichts "Pipelinedauer".
Die folgende Abbildung zeigt ein Beispiel für einen Dauerbericht für eine bestimmte Pipeline für alle Pipelineläufe vom September 2022 bis zum 15. Dezember 2022.
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
- Access: Mitglied eines Projekts mit mindestens standardem Zugriff sein.
- Berechtigungen: Standardmäßig verfügen Projektmitglieder über die Berechtigung zum Abfragen von Analysen und Erstellen von Ansichten.
- Weitere Informationen zu anderen Voraussetzungen für die Dienst- und Featureaktivierung sowie allgemeine Datenverfolgungsaktivitäten finden Sie unter Berechtigungen und Voraussetzungen für den Zugriff auf Analytics.
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 können die folgenden Abfragen des PipelineRuns
Entitätssatzes verwenden, um unterschiedliche, aber ähnliche Pipelinedauerberichte zu erstellen.
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 Path
EntityType
verwenden, die Property
mit einem EntitySet
verfü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 EntityType
bereitgestellt werden.
Zurückgeben von Quantildauern für eine angegebene Pipeline
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/PipelineRuns?"
&"$apply=filter( "
&"Pipeline/PipelineName eq '{pipelinename}' "
&"and CompletedDate ge {startdate} "
&"and (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
&") "
&"/compute( "
&"percentile_cont(TotalDurationSeconds, 0.5) as Duration50thPercentileInSeconds, "
&"percentile_cont(TotalDurationSeconds, 0.8) as Duration80thPercentileInSeconds, "
&"percentile_cont(TotalDurationSeconds, 0.95) as Duration95thPercentileInSeconds) "
&"/groupby( "
&"(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds)) "
,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 CompletedDate ge {startdate}
Die Rückgabepipeline wird am oder nach dem angegebenen Datum ausgeführt.
and (SucceededCount eq 1 or PartiallySucceededCount eq 1)
Gibt nur die erfolgreichen oder teilweise erfolgreichen Ausführungen zurück.
)
Close-Klausel filter()
.
/compute(
Startklausel compute()
.
percentile_cont(TotalDurationSeconds, 0.5) as Duration50thPercentileInSeconds,
Berechnen Sie das 50. Quantil der Pipelinedauer aller Pipelineausführungen, die den Filterkriterien entsprechen.
percentile_cont(TotalDurationSeconds, 0.8) as Duration80thPercentileInSeconds,
Berechnen Sie das 80. Quantil der Pipelinedauer aller Pipelineläufe, die den Filterkriterien entsprechen.
percentile_cont(TotalDurationSeconds, 0.95) as Duration95thPercentileInSeconds)
Berechnen Sie das 95. Quantil der Pipelinedauer aller Pipelineläufe, die den Filterkriterien entsprechen.
/groupby(
Startklausel groupby()
.
(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds))
Gruppieren Sie die Antwort nach Duration50thPercentileInSeconds
, Duration80thPercentileInSeconds
und Duration95thPercentileInSeconds
beenden Sie die groupby
Klausel.
Zurückgeben von Quantildauern für eine angegebene Pipeline-ID
Pipelines können umbenannt werden. Um sicherzustellen, dass die Power BI-Berichte beim Ändern des Pipelinenamens nicht unterbrechen, verwenden Sie die Pipeline-ID anstelle des Pipelinenamens. Sie können die Pipeline-ID über die URL der Pipelineausführungsseite abrufen.
https://dev.azure.com/{organization}/{project}/_build?definitionId= {pipelineid}
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/PipelineRuns?"
&"$apply=filter( "
&"PipelineId eq {pipelineid} "
&"and CompletedDate ge {startdate} "
&"and (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
&") "
&"/compute( "
&"percentile_cont(TotalDurationSeconds, 0.5) as Duration50thPercentileInSeconds, "
&"percentile_cont(TotalDurationSeconds, 0.8) as Duration80thPercentileInSeconds, "
&"percentile_cont(TotalDurationSeconds, 0.95) as Duration95thPercentileInSeconds) "
&"/groupby( "
&"(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds)) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Zurückgeben von Quantildauern für eine angegebene Pipeline, Filtern nach Verzweigung
Verwenden Sie die folgenden Abfragen, um die Dauer einer Pipeline nur für eine bestimmte Verzweigung anzuzeigen. Um den Bericht zu erstellen, führen Sie die folgenden zusätzlichen Schritte zusammen mit den im Datentyp "Spalte ändern" und "Erstellen der Abschnitte "Gruppierte Säulendiagramme " beschriebenen Schritte aus.
- Erweitern
Branch
inBranch.BranchName
. - Fügen Sie das Feld Branch.BranchName zur X-Achse hinzu.
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/PipelineRuns?"
&"$apply=filter( "
&"Pipeline/PipelineName eq '{pipelinename}' "
&"and CompletedDate ge {startdate} "
&"and (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
&") "
&"/compute( "
&"percentile_cont(TotalDurationSeconds, 0.5, BranchSK) as Duration50thPercentileInSeconds, "
&"percentile_cont(TotalDurationSeconds, 0.8, BranchSK) as Duration80thPercentileInSeconds, "
&"percentile_cont(TotalDurationSeconds, 0.95, BranchSK) as Duration95thPercentileInSeconds) "
&"/groupby( "
&"(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds, Branch/BranchName)) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Zurückgeben von Quantildauern für alle Projektpipelinen
Verwenden Sie die folgenden Abfragen, um die Dauer für alle Pipelines des Projekts in einem einzelnen Bericht anzuzeigen. Um den Bericht zu erstellen, führen Sie die folgenden zusätzlichen Schritte zusammen mit den im Datentyp "Spalte ändern" und "Erstellen der Abschnitte "Gruppierte Säulendiagramme " beschriebenen Schritte aus.
- Erweitern
Pipeline
inPipeline.PipelineName
. - Fügen Sie das Feld "PIpeline.PipelineName" zu X-Achse hinzu.
Siehe auch Ergebniszusammenfassung für alle Pipelines für einen Beispielbericht mit detaillierten ähnlichen Schritten wie hier beschrieben.
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/PipelineRuns?"
&"$apply=filter( "
&"CompletedDate ge {startdate} "
&"and (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
&" ) "
&"/compute( "
&"percentile_cont(TotalDurationSeconds, 0.5, PipelineId) as Duration50thPercentileInSeconds, "
&"percentile_cont(TotalDurationSeconds, 0.8, PipelineId) as Duration80thPercentileInSeconds, "
&"percentile_cont(TotalDurationSeconds, 0.95, PipelineId) as Duration95thPercentileInSeconds) "
&"/groupby( "
&"(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds, Pipeline/PipelineName)) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Ändern des Spaltendatentyps
Ändern Sie im Menü "Transformieren " den Datentyp für die folgenden Spalten in "Dezimalzahl". Informationen dazu finden Sie unter Transformieren eines Spaltendatentyps.
Duration50thPercentileInSeconds
Duration80thPercentileInSeconds
Duration95thPercentileInSeconds
(Optional) Umbenennen von Spaltenfeldern
Sie können Spaltenfelder umbenennen. Sie können z. B. die Spalte Pipeline.PipelineName
Pipeline Name
in oder TotalCount
in Total Count
. Informationen dazu finden Sie unter Umbenennen von Spaltenfeldern.
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.
Erstellen des Diagrammberichts "Gruppierte Säulen"
Wählen Sie in Power BI unter "Visualisierungen" den Bericht "Gruppiertes Säulendiagramm" aus. Im Beispiel wird davon ausgegangen, dass keine Spalten umbenannt wurden.
Fügen Sie die folgenden Felder zur Y-Achse hinzu, klicken Sie mit der rechten Maustaste auf jedes Feld, und stellen Sie sicher, dass Summe ausgewählt ist.
Duration50thPercentileInSeconds
Duration80thPercentileInSeconds
Duration95thPercentileInSeconds
Wenn Sie den Berichtstitel, die Legende oder andere visuelle Berichtselemente ändern möchten, wählen Sie im Bereich "Visualisierungen" das Symbol "Visueller Pinsel formatieren" aus, und passen Sie eine oder mehrere Einstellungen an.
Ihr Bericht sollte ähnlich wie die folgende Abbildung aussehen.