Exempelrapport för pipelineaktivitetsvaraktighet

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

Hur lång tid tar det att utföra olika uppgifter? Den här artikeln innehåller de frågor som du kan använda för att generera en rapport för en specifik pipeline och dess uppgifter. I följande bild visas till exempel den 50:e, 80:e och 95:e percentilen i sekunder för alla uppgifter som har slutförts för en specifik pipeline.

Skärmbild av trendrapporten för Power BI Pipelines-aktivitetsvaraktighetstabell.

Kommentar

Exempelfrågorna i den här artikeln kräver v3.0-förhandsversion eller senare av Analytics OData-flödet. Dela din feedback.

Kategori Krav
Åtkomstnivåer - Projektdeltagare.
– 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

Förfråga entitetsuppsättningen PipelineRunActivityResults? för att få information om uppgiftens varaktighet.

Kommentar

Information om hur du hittar tillgängliga egenskaper för filtrering eller rapportering finns i referensen Metadata för Azure-pipelines. Du kan filtrera frågor eller returnera egenskaper genom att använda valfritt Property värde som definierats under ett EntityType, eller valfritt NavigationPropertyBinding Path värde som anges för en EntitySet. Varje EntitySet mappas till en EntityType, som dokumenterar datatypen för varje egenskap.

Kopiera och klistra in följande Power BI fråga direkt i fönstret Get Data>Blank Query. 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 klammerparenteserna {} i ersättningen. Om ditt organisationsnamn till exempel är "Fabrikam" ersätter du {organization} med Fabrikam, inte {Fabrikam}.

  • {organization} – Organisationens namn
  • {project} – Namnet på ditt teamprojekt
  • {pipelinename} - Namn på din pipeline. Exempel: Fabrikam hourly build pipeline
  • {startdate} - Datumet då rapporten skulle startas. Format: YYYY-MM-DD följt av Z (UTC-indikator). Exempel: 2026-09-01Z representerar 1 september 2026. Använd inte citattecken eller hakparenteser.

Frågeuppdelning

I följande tabell beskrivs varje del av frågan.

Frågedel

Beskrivning


$apply=filter(

Börja filter() klausul.

Pipeline/PipelineName eq '{pipelinename}'

Visa 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(

Börja compute() klausul.

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(

Starta groupby()-klausulen.

(TaskDuration50thPercentileInSeconds, TaskDuration80thPercentileInSeconds,TaskDuration95thPercentileInSeconds, TaskDisplayName))

Gruppera efter aktivitetsnamn och de beräknade värdena för varaktigheten för 50:e, 80:e och 95:e percentilen.

&$orderby=TaskDuration50thPercentileInSeconds desc

Sortera svaret efter uppgiften med den högsta 50:e percentilens varaktighet.

(Valfritt) Byt namn på fråga

Du kan byta namn på standardfrågans etikett, Query1, till något mer meningsfullt. Ange ett nytt namn i fönstret Frågeinställningar .

Skärmbild av Power BI frågemenyalternativ, byt namn på fråga.

Ändra kolumndatatyp

Från menyn Transformera ändrar du datatypen för följande kolumner till Decimaltal. Mer information finns i Transformera en kolumndatatyp.

  • TaskDuration50thPercentileInSeconds
  • 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 Omdöpt 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 är klar med alla dina datatransformeringar väljer du Stäng och tillämpa startmenyn. Den här åtgärden sparar frågan och returnerar dig till fliken Report i Power BI.

Skärmbild av Editor Power Query Stäng och Använd option.

Skapa tabellrapporten

  1. I Power BI under Visualizations väljer du rapporten Table. Byt namn på fält enligt beskrivningen i avsnittet Byt namn på kolumnfält .

    Skärmbild av val av visualiseringsfält för rapport över aktivitetsvaraktighetstabeller.

  2. Lägg till följande fält i kolumnerna i den angivna ordningen:

    • Aktivitetsnamn
    • 50:e percentilen
    • 80:e percentilen
    • 95:e percentilen
  3. 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.

Skärmbild av Power BI Pipelines exempel på trendrapport för aktivitetsvaraktighet.