Delen via


Voorbeeldrapport van trend van pijplijnduur

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

In dit artikel leest u hoe u een rapport maakt dat laat zien hoe lang het duurt voordat uw pijplijn is voltooid. De dagelijkse trend van het rapport pijplijnduur is vergelijkbaar met het trenddiagram pijplijnsnelheid van het rapport Pijplijndoorgang.

In de volgende afbeelding ziet u een voorbeeld van een trendrapport voor de duur.

Schermopname van het trendrapport Duur van Power BI Pipelines.

Belangrijk

Power BI-integratie en -toegang tot de OData-feed van de Analytics-service zijn algemeen beschikbaar voor Azure DevOps Services en Azure DevOps Server 2020 en latere versies. De voorbeeldquery's in dit artikel zijn alleen geldig voor Azure DevOps Server 2020 en latere versies en zijn afhankelijk van versie v3.0 of hoger. We raden u aan deze query's te gebruiken en ons feedback te geven.

Vereisten

Notitie

In dit artikel wordt ervan uitgegaan dat u overzicht van voorbeeldrapporten leest met behulp van OData-query's en basiskennis hebt van Power BI.

Voorbeeldquery's

U kunt de volgende query's van de PipelineRuns entiteitset gebruiken om verschillende maar vergelijkbare trendrapporten voor pijplijnduur te maken.

Notitie

Als u de beschikbare eigenschappen voor filter- of rapportdoeleinden wilt bepalen, raadpleegt u de naslaginformatie over metagegevens voor Azure Pipelines. U kunt uw query's filteren of eigenschappen retourneren met behulp van een van de Property waarden onder een EntityType of NavigationPropertyBinding Path waarden die beschikbaar zijn met een EntitySet. Elk EntitySet komt overeen met een EntityType. Raadpleeg voor meer informatie over het gegevenstype van elke waarde de metagegevens die voor de bijbehorende EntityTypewaarde zijn opgegeven.

Trend van 80e percentielduur ophalen voor een opgegeven pijplijn

Kopieer en plak de volgende Power BI-query rechtstreeks in het venster Lege query ophalen>. Zie Overzicht van voorbeeldrapporten met behulp van OData-query's voor meer informatie.

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.8,CompletedDateSK) as Duration80thPercentileInSeconds) "
                &"/groupby( "
                &"(Duration80thPercentileInSeconds, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Uitsplitsing van tekenreeksen en query's vervangen

Vervang de volgende tekenreeksen door uw waarden. Neem geen vierkante haken {} op bij uw vervanging. Als de naam van uw organisatie bijvoorbeeld Fabrikam is, vervangt u door {organization} Fabrikam, niet {Fabrikam}.

  • {organization} - Naam van uw organisatie
  • {project} - De naam van uw teamproject
  • {pipelinename} - De naam van uw pijplijn. Voorbeeld: Fabrikam hourly build pipeline
  • {startdate} - De datum waarop het rapport moet worden gestart. Indeling: JJJJ-MM-DDZ. Voorbeeld: 2021-09-01Z vertegenwoordigt 1 september 2021. Plaats geen aanhalingstekens of vierkante haken en gebruik twee cijfers voor zowel maand als datum.

Uitsplitsing van query's

In de volgende tabel wordt elk deel van de query beschreven.

Queryonderdeel

Beschrijving


$apply=filter(

Begincomponent filter() .

Pipeline/PipelineName eq '{pipelinename}'

Retourpijplijnuitvoeringen voor de opgegeven pijplijn.

and CompletedDate ge {startdate}

Retourpijplijn wordt uitgevoerd op of na de opgegeven datum.

and (SucceededCount eq 1 or PartiallySucceededCount eq 1)

Alleen de geslaagde of gedeeltelijk geslaagde uitvoeringen retourneren.

)

Sluit filter() de component.

/compute(

Begincomponent compute() .

percentile_cont(TotalDurationSeconds, 0.8,CompletedDateSK) as Duration80thPercentileInSeconds)

Bereken het 80e percentiel van de pijplijnduur van alle pijplijnuitvoeringen die voldoen aan de filtercriteria.

/groupby(

Start groupby()

(Duration80thPercentileInSeconds, CompletedOn/Date))

Groepeer op datum van voltooiing van pijplijnuitvoering en berekende 80e percentielpijplijnduur.

&$orderby=CompletedOn/Date asc

Bestel het antwoord op voltooide datum.

Filteren op pijplijn-id in plaats van pijplijnnaam

De naam van pijplijnen kan worden gewijzigd. Gebruik de pijplijn-id in plaats van de naam van de pijplijn om ervoor te zorgen dat de Power BI-rapporten niet worden verbroken wanneer de naam van de pijplijn wordt gewijzigd. U kunt de pijplijn-id verkrijgen via de URL van de pagina pijplijnuitvoeringen.

https://dev.azure.com/{organization}/{project}/_build?definitionId= `{pipelineid}`

Kopieer en plak de volgende Power BI-query rechtstreeks in het venster Lege query ophalen>. Zie Overzicht van voorbeeldrapporten met behulp van OData-query's voor meer informatie.

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.8,CompletedDateSK) as Duration80thPercentileInSeconds) "
                &"/groupby( "
                &"(Duration80thPercentileInSeconds, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

50e en 90e percentiel ophalen, samen met trend van 80e percentielduur

Mogelijk wilt u de duurtrend weergeven die wordt berekend met behulp van een andere percentielwaarde. De volgende query's bieden de duur van de pijplijn van het 50e en 90e percentiel, samen met het 80e percentiel.

Kopieer en plak de volgende Power BI-query rechtstreeks in het venster Lege query ophalen>. Zie Overzicht van voorbeeldrapporten met behulp van OData-query's voor meer informatie.

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,CompletedDateSK) as Duration50thPercentileInSeconds, "
                &"percentile_cont(TotalDurationSeconds, 0.8,CompletedDateSK) as Duration80thPercentileInSeconds, "
                &"percentile_cont(TotalDurationSeconds, 0.90,CompletedDateSK) as Duration90thPercentileInSeconds) "
            &"/groupby( "
                &"(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds, Duration90thPercentileInSeconds, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Filteren op vertakking

Gebruik de volgende query's om de duurtrend van een pijplijn voor een bepaalde vertakking te bekijken. Als u het rapport wilt maken, voert u de volgende extra stappen uit, samen met wat wordt beschreven in het gegevenstype Kolom wijzigen en de secties Rapport lijndiagram maken.

  • Uitvouwen Branch tot Branch.BranchName.
  • Selecteer Power BI-visualisatieslicer en voeg deze toe aan Branch.BranchName het veld van de slicer.
  • Selecteer de pijplijn in de slicer waarvoor u de trend van de pijplijnduur wilt zien.

Kopieer en plak de volgende Power BI-query rechtstreeks in het venster Lege query ophalen>. Zie Overzicht van voorbeeldrapporten met behulp van OData-query's voor meer informatie.

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.8,BranchSK, CompletedDateSK) as Duration80thPercentileInSeconds) "
                &"/groupby( "
                &"(Duration80thPercentileInSeconds, Branch/BranchName, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Duurtrend voor alle projectpijplijnen

U kunt de duurtrend voor alle pijplijnen van het project in één rapport bekijken. Als u het rapport wilt maken, voert u de volgende extra stappen uit, samen met wat wordt beschreven in het gegevenstype Kolom wijzigen en de secties Rapport lijndiagram maken.

  • Uitvouwen Pipeline tot Pipeline.PipelineName.
  • Selecteer Slicer in het deelvenster Visualisaties en voeg de Pipeline.PipelineNam slicer toe aan het veld van de slicer.
  • Selecteer de pijplijn in de slicer waarvoor u de trend van de doorvoersnelheid van de pijplijn wilt zien.

Kopieer en plak de volgende Power BI-query rechtstreeks in het venster Lege query ophalen>. Zie Overzicht van voorbeeldrapporten met behulp van OData-query's voor meer informatie.

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.8,PipelineId, CompletedDateSK) as Duration80thPercentileInSeconds) "
            &"/groupby( "
                &"(Duration80thPercentileInSeconds, Pipeline/PipelineName, CompletedOn/Date)) "
                &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Kolommen uitvouwen in Power Query-editor

Voordat u het rapport maakt, moet u kolommen uitvouwen die records met verschillende velden retourneren. In dit geval wilt u de kolom uitbreiden om deze CompletedOn plat CompletedOn.Datete maken.
Zie Transform Analytics-gegevens voor het genereren van Power BI-rapporten voor meer informatie over het uitvouwen van werkitems.

Kolomgegevenstype wijzigen

Wijzig in het menu Transformeren het gegevenstype voor het Duration80thPercentileInSeconds decimaal getal. Zie Een kolomgegevenstype transformeren voor meer informatie.

(Optioneel) Kolomvelden een andere naam geven

U kunt de naam van kolomvelden wijzigen. U kunt bijvoorbeeld de naam van de kolom Pipeline.PipelineName wijzigen in Pipeline Name, of TotalCount in Total Count. Zie Kolomvelden een andere naam geven.

Sluit de query en pas uw wijzigingen toe

Zodra u al uw gegevenstransformaties hebt voltooid, kiest u Sluiten en toepassen in het menu Start om de query op te slaan en terug te keren naar het tabblad Rapport in Power BI.

Schermopname van Power Query-editor optie Sluiten en toepassen.

Het rapport Lijndiagram maken

  1. Kies in Power BI onder Visualisaties het rapport Lijndiagram .

    Schermopname van selecties van visualisatievelden voor het trendrapport duur van pijplijnen.

  2. Voeg deze CompletedOn.Date toe aan de X-as, klik er met de rechtermuisknop op en selecteer CompletedOn.Date in plaats van Datumhiërarchie.

  3. Klik Duration80thPercentileInSeconds met de rechtermuisknop op de Y-as en zorg ervoor dat Som is geselecteerd.

Het weergegeven rapport moet er ongeveer uitzien als in de volgende afbeelding.

Schermopname van het trendrapport Duur van Power BI-voorbeeldpijplijnen.