Report di esempio della durata della pipeline

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

Questo articolo illustra come ottenere la durata della pipeline o il tempo impiegato per eseguire una pipeline. Questo report è simile alla metrica di riepilogo della durata nel grafico "Durata pipeline" del report Durata pipeline.

L'immagine seguente mostra un esempio di report di durata per una pipeline specifica per tutte le esecuzioni della pipeline da settembre 2022 a dicembre 2022.

Screenshot del report della colonna Durata pipeline di Power BI.

Importante

L'integrazione di Power BI e l'accesso al feed OData del servizio di analisi sono disponibili a livello generale per Azure DevOps Services e Azure DevOps Server 2020 e versioni successive. Le query di esempio fornite in questo articolo sono valide solo per Azure DevOps Server 2020 e versioni successive e dipendono dalla versione v3.0-preview o successiva. È consigliabile usare queste query e fornire commenti e suggerimenti.

Prerequisiti

  • Per visualizzare i dati di Analisi ed eseguire query sul servizio, è necessario essere membri di un progetto con accesso basic o superiore. Per impostazione predefinita, a tutti i membri del progetto vengono concesse le autorizzazioni per eseguire query su Analisi e definire le visualizzazioni di Analisi.
  • Per altre informazioni sugli altri prerequisiti relativi all'abilitazione di servizi e funzionalità e alle attività generali di rilevamento dei dati, vedere Autorizzazioni e prerequisiti per l'accesso ad Analytics.

Nota

Questo articolo presuppone di avere letto Panoramica dei report di esempio usando query OData e avere una conoscenza di base di Power BI.

Query di esempio

È possibile usare le query seguenti del PipelineRuns set di entità per creare report sulla durata della pipeline diversi ma simili.

Nota

Per determinare le proprietà disponibili a scopo di filtro o report, vedere Informazioni di riferimento sui metadati per Azure Pipelines. È possibile filtrare le query o restituire proprietà usando uno qualsiasi dei Property valori in un EntityType oggetto o NavigationPropertyBinding Path i valori disponibili con un oggetto EntitySet. Ognuno EntitySet corrisponde a un oggetto EntityType. Per altre informazioni sul tipo di dati di ogni valore, esaminare i metadati forniti per l'oggetto corrispondente EntityType.

Restituisce durate percentili per una pipeline specificata

È possibile incollare la query di Power BI elencata di seguito direttamente nella finestra Recupera query vuota dati>. Per altre informazioni, vedere Panoramica dei report di esempio che usano query OData.

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

Stringhe di sostituzione e scomposizione delle query

Sostituire le stringhe seguenti con i valori. Non includere parentesi quadre {} con la sostituzione. Ad esempio, se il nome dell'organizzazione è "Fabrikam", sostituire {organization} con Fabrikam, non {Fabrikam}.

  • {organization} - Nome dell'organizzazione
  • {project} - Nome del progetto team
  • {pipelinename} - Nome della pipeline. Esempio: Fabrikam hourly build pipeline
  • {startdate} - Data di inizio del report. Formato: AAAA-MM-GG. Esempio: 2021-09-01Z rappresenta il 1° settembre 2021. Non racchiudere tra virgolette o parentesi quadre e usare due cifre per entrambi, mese e data.

Suddivisione delle query

La tabella seguente descrive ogni parte della query.

Parte della query

Descrizione


$apply=filter(

Clausola Start filter() .

Pipeline/PipelineName eq '{pipelinename}'

Restituire le esecuzioni della pipeline per la pipeline specificata.

and CompletedDate ge {startdate}

La pipeline restituita viene eseguita in o dopo la data specificata.

and (SucceededCount eq 1 or PartiallySucceededCount eq 1)

Restituisce solo le esecuzioni riuscite o parzialmente riuscite.

)

Clausola Close filter() .

/compute(

Clausola Start compute() .

percentile_cont(TotalDurationSeconds, 0.5) as Duration50thPercentileInSeconds,

Calcolare il 50° percentile delle durate della pipeline di tutte le esecuzioni di pipeline che corrispondono ai criteri di filtro.

percentile_cont(TotalDurationSeconds, 0.8) as Duration80thPercentileInSeconds,

Calcolare l'80° percentile delle durate della pipeline di tutte le esecuzioni di pipeline che corrispondono ai criteri di filtro.

percentile_cont(TotalDurationSeconds, 0.95) as Duration95thPercentileInSeconds)

Calcolare il 95° percentile delle durate della pipeline di tutte le esecuzioni di pipeline che corrispondono ai criteri di filtro.

/groupby(

Clausola Start groupby() .

(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds))

Raggruppare la risposta in Duration50thPercentileInSecondsbase a , Duration80thPercentileInSecondse Duration95thPercentileInSeconds e terminare la groupby clausola .

Restituisce durate percentili per un ID pipeline specificato

È possibile rinominare le pipeline. Per assicurarsi che i report di Power BI non si interrompano quando viene modificato il nome della pipeline, usare l'ID della pipeline anziché il nome della pipeline. È possibile ottenere l'ID della pipeline dall'URL della pagina delle esecuzioni della pipeline.

https://dev.azure.com/{organization}/{project}/_build?definitionId= {pipelineid}

È possibile incollare la query di Power BI elencata di seguito direttamente nella finestra Recupera query vuota dati>. Per altre informazioni, vedere Panoramica dei report di esempio che usano query OData.

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

Restituisce durate percentili per una pipeline specificata, filtrare per ramo

Per visualizzare la durata di una pipeline solo per un ramo specifico, usare le query seguenti. Per creare il report, eseguire i passaggi aggiuntivi seguenti insieme a quanto descritto nelle sezioni Change column data type (Modifica tipo di dati colonna) e Create the Clustered column chart report (Creare il report istogramma a colonne raggruppate).

  • Espandere in BranchBranch.BranchName.
  • Aggiungere il campo Branch.BranchName all'asse X.

È possibile incollare la query di Power BI elencata di seguito direttamente nella finestra Recupera query vuota dati>. Per altre informazioni, vedere Panoramica dei report di esempio che usano query OData.

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

Restituire durate percentili per tutte le pipeline di progetto

Per visualizzare la durata di tutte le pipeline del progetto in un singolo report, usare le query seguenti. Per creare il report, eseguire i passaggi aggiuntivi seguenti insieme a quanto descritto nelle sezioni Change column data type (Modifica tipo di dati colonna) e Create the Clustered column chart report (Creare il report istogramma a colonne raggruppate).

  • Espandere in PipelinePipeline.PipelineName.
  • Aggiungere il campo PIpeline.PipelineName all'asse X.

Vedere anche Riepilogo dei risultati per tutte le pipeline per un report di esempio con passaggi simili dettagliati come richiesto qui.

È possibile incollare la query di Power BI elencata di seguito direttamente nella finestra Recupera query vuota dati>. Per altre informazioni, vedere Panoramica dei report di esempio che usano query OData.

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

Modificare il tipo di dati della colonna

Dal menu Trasforma modificare il tipo di dati per le colonne seguenti in Numero decimale. Per informazioni su come, vedere Trasformare un tipo di dati di colonna.

  • Duration50thPercentileInSeconds
  • Duration80thPercentileInSeconds
  • Duration95thPercentileInSeconds

(Facoltativo) Rinominare i campi della colonna

È possibile rinominare i campi delle colonne. Ad esempio, è possibile rinominare la colonna Pipeline.PipelineName in Pipeline Nameo TotalCount in Total Count. Per informazioni su come, vedere Rinominare i campi delle colonne.

Chiudere la query e applicare le modifiche

Dopo aver completato tutte le trasformazioni dei dati, scegliere Chiudi e applica dal menu Home per salvare la query e tornare alla scheda Report in Power BI.

Screenshot dell'opzione Chiudi e applica editor di Power Query.

Creare il report istogramma a colonne raggruppate

  1. In Power BI, in Visualizzazioni, scegliere il report Istogramma a colonne raggruppate. Nell'esempio si presuppone che nessuna colonna sia stata rinominata.

    Screenshot delle visualizzazioni delle colonne raggruppate delle pipeline di Power BI e delle selezioni dei campi.

  2. Aggiungere i campi seguenti all'asse Y, fare clic con il pulsante destro del mouse su ogni campo e assicurarsi che Sum sia selezionato.

    • Duration50thPercentileInSeconds
    • Duration80thPercentileInSeconds
    • Duration95thPercentileInSeconds
  3. Per modificare il titolo del report, la legenda o altri oggetti visivi del report, selezionare l'icona Formatta il pennello di disegno visivo dal riquadro Visualizzazioni e modificare una o più impostazioni.

Il report dovrebbe essere simile all'immagine seguente.

Screenshot del report della colonna Durata pipeline di esempio di Power BI.