Voorbeeldrapport voor pijplijnduur
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
In dit artikel leest u hoe u de tijdsduur van een pijplijn kunt weten of de tijd die nodig is om een pijplijn uit te voeren. Dit rapport is vergelijkbaar met de duurmetriek van het overzicht 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.
Categorie | Vereisten |
---|---|
Toegangsniveaus |
-
een projectlid. - Ten minste Basis toegang. |
Toestemmingen | 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.
Voorbeeldqueries
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.
Retourneer de percentielduren voor een opgegeven pijplijn
Kopieer en plak de volgende Power BI-query rechtstreeks in het Gegevens ophalen>Lege query-venster. 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
Vervangende tekenreeksen en query-uitsplitsing
Vervang de volgende tekenreeksen door uw waarden. Gebruik geen haakjes {} 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. Formaat: 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(
Start filter()
clausule.
Pipeline/PipelineName eq '{pipelinename}'
Geef de pijplijnuitvoeringen voor de opgegeven pijplijn terug.
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 clausule.
/compute(
Start compute()
clausule.
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(
Begin clausule groupby()
.
(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds))
Groepeer het antwoord op Duration50thPercentileInSeconds
, Duration80thPercentileInSeconds
, en Duration95thPercentileInSeconds
en beëindig de groupby
clausule.
Percentielduren teruggeven voor een specifieke 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 pijplijnuitvoeringenpagina.
https://dev.azure.com/{organization}/{project}/_build?definitionId= {pipelineid}
Kopieer en plak de volgende Power BI-query rechtstreeks in het Gegevens ophalen>Lege query-venster. 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 de werkzaamheden die worden beschreven in de secties Kolomgegevens wijzigen en het rapport Clustered 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 Gegevens ophalen>Lege query-venster. 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
Returneer de percentielduren 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 de secties Kolomgegevenstype wijzigen en Maak het gegroepeerde kolomdiagramrapport.
- 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 de Gegevens ophalen>Lege query-venster. 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 hoe u kolomvelden een andere naam kunt geven in 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 hetmenu Start om de query op te slaan en terug te keren naar het tabblad Rapport in Power BI.
Het rapport Geclusterde kolomgrafiek 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 visual opmaken' in het deelvenster Visualisaties en past u een of meer instellingen aan.
Uw rapport moet er ongeveer uitzien als in de volgende afbeelding.