Exempelrapport för pipelinevaraktighet
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Den här artikeln visar hur du hämtar pipelinens varaktighet eller hur lång tid det tar att köra en pipeline. Den här rapporten liknar måttet för varaktighetssammanfattning i diagrammet Pipelinevaraktighet i rapporten Pipelinevaraktighet.
Följande bild visar ett exempel på en varaktighetsrapport för en specifik pipeline för alla pipelinekörningar från september 2022 till 15 december 2022.
Viktigt!
Power BI-integrering och åtkomst till OData-flödet i Analytics Service är allmänt tillgängliga för Azure DevOps Services och Azure DevOps Server 2020 och senare versioner. Exempelfrågorna i den här artikeln är endast giltiga mot Azure DevOps Server 2020 och senare versioner och är beroende av v3.0-förhandsversion eller senare version. Vi rekommenderar att du använder dessa frågor och ger oss feedback.
Förutsättningar
- Åtkomst: Vara medlem i ett projekt med minst grundläggande åtkomst.
- Behörigheter: Som standard har projektmedlemmar behörighet att fråga Analytics och skapa vyer.
- Mer information om andra förutsättningar för tjänst- och funktionsaktivering och allmänna dataspårningsaktiviteter finns i Behörigheter och krav för åtkomst till analys.
Kommentar
Den här artikeln förutsätter att du läser Översikt över exempelrapporter med OData-frågor och har en grundläggande förståelse för Power BI.
Exempelfrågor
Du kan använda följande frågor i entitetsuppsättningen PipelineRuns
för att skapa olika men liknande pipelinevaraktighetsrapporter.
Kommentar
Information om hur du fastställer tillgängliga egenskaper för filter- eller rapportändamål finns i Metadatareferens för Azure Pipelines. Du kan filtrera dina frågor eller returnera egenskaper med något av värdena Property
under ett EntityType
eller NavigationPropertyBinding Path
flera värden som är tillgängliga med en EntitySet
. Var och EntitySet
en motsvarar en EntityType
. Mer information om datatypen för varje värde finns i metadata för motsvarande EntityType
.
Returnera percentilvaraktighet för en angiven pipeline
Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.
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
Ersättningssträngar och frågeuppdelning
Ersätt följande strängar med dina värden. Ta inte med hakparenteser {} med din ersättning. Om ditt organisationsnamn till exempel är "Fabrikam" ersätter du {organization}
med Fabrikam
, inte {Fabrikam}
.
{organization}
– Organisationens namn{project}
– Namnet på ditt teamprojekt{pipelinename}
- Ditt pipelinenamn. Exempel:Fabrikam hourly build pipeline
{startdate}
- Datumet då rapporten skulle startas. Format: ÅÅÅÅ-MM-DDZ. Exempel:2021-09-01Z
representerar 1 september 2021. Omslut inte citattecken eller hakparenteser och använd inte två siffror för både månad och datum.
Frågeuppdelning
I följande tabell beskrivs varje del av frågan.
Frågedel
Beskrivning
$apply=filter(
Start-sats filter()
.
Pipeline/PipelineName eq '{pipelinename}'
Returnera pipelinekörningar för den angivna pipelinen.
and CompletedDate ge {startdate}
Returpipelinen körs på eller efter det angivna datumet.
and (SucceededCount eq 1 or PartiallySucceededCount eq 1)
Returnera endast lyckade eller delvis lyckade körningar.
)
Stäng-satsen filter()
.
/compute(
Start-sats compute()
.
percentile_cont(TotalDurationSeconds, 0.5) as Duration50thPercentileInSeconds,
Beräkna den 50:e percentilen av pipelinens varaktighet för alla pipelinekörningar som matchar filtervillkoren.
percentile_cont(TotalDurationSeconds, 0.8) as Duration80thPercentileInSeconds,
Beräkna den 80:e percentilen av pipelinens varaktighet för alla pipelinekörningar som matchar filtervillkoren.
percentile_cont(TotalDurationSeconds, 0.95) as Duration95thPercentileInSeconds)
Beräkna den 95:e percentilen av pipelinens varaktighet för alla pipelinekörningar som matchar filtervillkoren.
/groupby(
Start-sats groupby()
.
(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds))
Gruppera svaret efter Duration50thPercentileInSeconds
, Duration80thPercentileInSeconds
och Duration95thPercentileInSeconds
avsluta groupby
-satsen.
Returnera percentilvaraktighet för ett angivet pipeline-ID
Pipelines kan byta namn. Om du vill se till att Power BI-rapporterna inte bryts när pipelinenamnet ändras använder du pipeline-ID i stället för pipelinenamn. Du kan hämta pipeline-ID:t från URL:en för pipelinekörningssidan.
https://dev.azure.com/{organization}/{project}/_build?definitionId= {pipelineid}
Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.
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
Returnera percentilvaraktighet för en angiven pipeline, filtrera efter gren
Om du bara vill visa varaktigheten för en pipeline för en viss gren använder du följande frågor. Skapa rapporten genom att utföra följande extra steg tillsammans med det som beskrivs i rapportavsnitten Ändra kolumndatatyp och Skapa grupperade stapeldiagram .
- Expandera
Branch
tillBranch.BranchName
. - Lägg till fältet Branch.BranchName i X-axeln.
Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.
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
Returnera percentilvaraktighet för alla projektpipelines
Om du vill visa varaktigheten för alla pipelines i projektet i en enda rapport använder du följande frågor. Skapa rapporten genom att utföra följande extra steg tillsammans med det som beskrivs i rapportavsnitten Ändra kolumndatatyp och Skapa grupperade stapeldiagram .
- Expandera
Pipeline
tillPipeline.PipelineName
. - Lägg till fältet PIpeline.PipelineName i X-axel.
Se även Resultatsammanfattning för alla pipelines för en exempelrapport som har detaljerade liknande steg som krävs här.
Kopiera och klistra in följande Power BI-fråga direkt i fönstret Hämta data>tom fråga. Mer information finns i Översikt över exempelrapporter med OData-frågor.
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
Ändra kolumndatatyp
På menyn Transformera ändrar du datatypen för följande kolumner till Decimaltal. Mer information finns i Transformera en kolumndatatyp.
Duration50thPercentileInSeconds
Duration80thPercentileInSeconds
Duration95thPercentileInSeconds
(Valfritt) Byt namn på kolumnfält
Du kan byta namn på kolumnfält. Du kan till exempel byta namn på kolumnen Pipeline.PipelineName
till Pipeline Name
eller TotalCount
till Total Count
. Mer information finns i Byt namn på kolumnfält.
Stäng frågan och tillämpa ändringarna
När du har slutfört alla dina datatransformeringar väljer du Stäng och använd på startmenyn för att spara frågan och återgå till fliken Rapport i Power BI.
Skapa rapporten grupperat stapeldiagram
Under Visualiseringar i Power BI väljer du rapporten Grupperat stapeldiagram. Exemplet förutsätter att inga kolumner har bytt namn.
Lägg till följande fält i Y-axeln, högerklicka på varje fält och se till att Sum är markerat.
Duration50thPercentileInSeconds
Duration80thPercentileInSeconds
Duration95thPercentileInSeconds
Om du vill ändra rapportens rubrik, förklaring eller andra visuella rapportobjekt väljer du ikonen Formatera din visuella pensel i fönstret Visualiseringar och justerar en eller flera inställningar.
Rapporten bör se ut ungefär som i följande bild.