Voorbeeldrapport voor pijplijnduur
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
In dit artikel leest u hoe u de duur van de pijplijn kunt ophalen of hoe lang het duurt om een pijplijn uit te voeren. Dit rapport is vergelijkbaar met de metrische duur van het duuroverzicht in de grafiek Pijplijnduur van het rapport Pijplijnduur.
In de volgende afbeelding ziet u een voorbeeld van een duurrapport voor een specifieke pijplijn voor alle pijplijnuitvoeringen van september 2022 tot 15 december 2022.
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
- Toegang: Wees lid van een project met ten minste basistoegang .
- Machtigingen: projectleden zijn standaard gemachtigd om query's uit te voeren op Analytics en weergaven te maken.
- Zie Machtigingen en vereisten voor toegang tot Analyse voor meer informatie over andere vereisten met betrekking tot het inschakelen van services en functies en algemene activiteiten voor het bijhouden van gegevens.
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
entiteitsset gebruiken om verschillende maar vergelijkbare pijplijnduurrapporten 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 EntityType
waarde zijn opgegeven.
Percentielduur retourneren 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.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
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.5) as Duration50thPercentileInSeconds,
Bereken het 50e percentiel van de pijplijnduur van alle pijplijnuitvoeringen die voldoen aan de filtercriteria.
percentile_cont(TotalDurationSeconds, 0.8) as Duration80thPercentileInSeconds,
Bereken het 80e percentiel van de pijplijnduur van alle pijplijnuitvoeringen die voldoen aan de filtercriteria.
percentile_cont(TotalDurationSeconds, 0.95) as Duration95thPercentileInSeconds)
Bereken het 95e percentiel van de pijplijnduur van alle pijplijnuitvoeringen die voldoen aan de filtercriteria.
/groupby(
Begincomponent groupby()
.
(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds))
Groepeer het antwoord op Duration50thPercentileInSeconds
, Duration80thPercentileInSeconds
en Duration95thPercentileInSeconds
beëindig de groupby
component.
Percentielduur retourneren voor een opgegeven pijplijn-id
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.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
Retourneert percentielduur voor een opgegeven pijplijn, filtert op vertakking
Als u alleen de duur van een pijplijn voor een bepaalde vertakking wilt weergeven, gebruikt u de volgende query's. 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 rapportsecties gegroepeerd kolomdiagram maken.
- Uitvouwen
Branch
totBranch.BranchName
. - Voeg het veld Branch.BranchName toe aan de X-as.
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, 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
Percentielduur retourneren voor alle projectpijplijnen
Gebruik de volgende query's om de duur voor alle pijplijnen van het project in één rapport weer te geven. 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 rapportsecties gegroepeerd kolomdiagram maken.
- Uitvouwen
Pipeline
totPipeline.PipelineName
. - Voeg het veld PIpeline.PipelineName toe aan de X-as.
Zie ook het resultaatoverzicht voor alle pijplijnen voor een voorbeeldrapport met gedetailleerde vergelijkbare stappen, zoals hier is vereist.
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.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
Kolomgegevenstype wijzigen
Wijzig in het menu Transformeren het gegevenstype voor de volgende kolommen in Decimaal getal. Zie Een kolomgegevenstype transformeren voor meer informatie.
Duration50thPercentileInSeconds
Duration80thPercentileInSeconds
Duration95thPercentileInSeconds
(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.
Het rapport Gegroepeerd kolomdiagram maken
Kies in Power BI onder Visualisaties het rapport Gegroepeerd kolomdiagram . In het voorbeeld wordt ervan uitgegaan dat er geen kolommen zijn gewijzigd.
Voeg de volgende velden toe aan de Y-as, klik met de rechtermuisknop op elk veld en zorg ervoor dat Som is geselecteerd.
Duration50thPercentileInSeconds
Duration80thPercentileInSeconds
Duration95thPercentileInSeconds
Als u de rapporttitel, legenda of andere rapportvisuals wilt wijzigen, selecteert u het pictogram Uw visuele verfborstel opmaken in het deelvenster Visualisaties en past u een of meer instellingen aan.
Uw rapport moet er ongeveer uitzien als in de volgende afbeelding.