Exempelrapport för pipelineaktivitetsvaraktighet
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Hur lång tid tar det att utföra olika uppgifter? Den här artikeln innehåller de frågor som du kan generera en rapport från för en specifik pipeline och dess uppgifter. Följande bild visar till exempel den 50:e, 80:e och 95:e percentilen i sekunder för alla uppgifter som slutförts för en specifik pipeline från 1 september 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 frågar entiteten PipelineRunActivityResults?
som angetts för att returnera information om aktivitetens varaktighet.
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
.
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/PipelineRunActivityResults?"
&"$apply=filter( "
&"Pipeline/PipelineName eq '{pipelinename}' "
&"and PipelineRunCompletedOn/Date ge {startdate} "
&"and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded') "
&"and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1) "
&") "
&"/compute( "
&"percentile_cont(ActivityDurationSeconds, 0.5, TaskDisplayName) as TaskDuration50thPercentileInSeconds, "
&"percentile_cont(ActivityDurationSeconds, 0.8, TaskDisplayName) as TaskDuration80thPercentileInSeconds, "
&"percentile_cont(ActivityDurationSeconds, 0.95, TaskDisplayName) as TaskDuration95thPercentileInSeconds) "
&"/groupby( "
&"(TaskDuration50thPercentileInSeconds, TaskDuration80thPercentileInSeconds,TaskDuration95thPercentileInSeconds, TaskDisplayName)) "
&"&$orderby=TaskDuration50thPercentileInSeconds desc "
,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 PipelineRunCompletedOn/Date ge {startdate}
Returnera aktivitetsresultat för en pipelinekörning på eller efter det angivna datumet.
and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded')
Returnera aktivitetsresultat för endast lyckade eller delvis lyckade pipelinekörningar.
and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1)
Utelämna pipelinekörningar som avbröts, hoppades över eller övergavs.
)
filter()
Stäng satsen.
/compute(
Start-sats compute()
.
percentile_cont(ActivityDurationSeconds, 0.5, TaskDisplayName) as TaskDuration50thPercentileInSeconds,
För varje aktivitet beräknar du den 50:e percentilen av aktivitetsvaraktigheterna för alla aktiviteter som matchar filtervillkoren.
percentile_cont(ActivityDurationSeconds, 0.8, TaskDisplayName) as TaskDuration80thPercentileInSeconds,
För varje aktivitet beräknar du den 80:e percentilen av aktivitetsvaraktigheterna för alla aktiviteter som matchar filtervillkoren.
percentile_cont(ActivityDurationSeconds, 0.95, TaskDisplayName) as TaskDuration95thPercentileInSeconds)
För varje aktivitet beräknar du den 95:e percentilen av aktivitetsvaraktigheterna för alla aktiviteter som matchar filtervillkoren.
/groupby(
groupby()
Starta -satsen.
(TaskDuration50thPercentileInSeconds, TaskDuration80thPercentileInSeconds,TaskDuration95thPercentileInSeconds, TaskDisplayName))
Gruppera efter aktivitet för pipelinekörning och beräknad dagvis 50:e percentilaktivitetens varaktighet, den 80:e percentilens aktivitetsvaraktighet och varaktighet för den 95:e percentilen.
&$orderby=TaskDuration50thPercentileInSeconds desc
Beställ svaret efter uppgift med högst varaktighet för den 50:e percentilen.
(Valfritt) Byt namn på fråga
Du kan byta namn på standardfrågans etikett, Query1, till något mer meningsfullt. Ange bara ett nytt namn i fönstret Frågeinställningar .
Ändra kolumndatatyp
På menyn Transformera ändrar du datatypen för följande kolumner till Decimal Number**.
Mer information finns i Transformera en kolumndatatyp.
- TaskDuration80thPercentileInSeconds
- TaskDuration80thPercentileInSeconds
- TaskDuration95thPercentileInSeconds
.
(Valfritt) Byt namn på kolumnfält
Du kan byta namn på kolumnfält. Du kan till exempel byta namn på följande kolumner så att de blir mer visningsvänliga. Mer information finns i Byt namn på kolumnfält.
Ursprungligt fältnamn | Namn på fält |
---|---|
TaskDisplayName |
Uppgiftsnamn |
TaskDuration50thPercentileInSeconds |
50:e percentilen |
TaskDuration80thPercentileInSeconds |
80:e percentilen |
TaskDuration95thPercentileInSeconds |
95:e percentilen |
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 tabellrapporten
I Power BI går du till Visualiseringar och väljer tabellrapporten. Fält har bytt namn enligt beskrivningen i avsnittet Byt namn på kolumnfält .
Lägg till följande fält i kolumnerna i den angivna ordningen.
- Aktivitetsnamn
- 50:e percentilen
- 80:e percentilen
- 95:e percentilen
Om du vill ändra rapportrubriken väljer du ikonen Formatera din visuella pensel i fönstret Visualiseringar , väljer Allmänt, expanderar Rubrik och ersätter den befintliga texten.
Följande bild visar en del av den resulterande rapporten.