Condividi tramite


Report di esempio di tendenza della durata della pipeline

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

Questo articolo illustra come creare un report che illustra il tempo necessario per il completamento della pipeline. La tendenza giornaliera del report sulla durata della pipeline è simile al grafico delle tendenze della frequenza della pipeline del report Percentuale di passaggio pipeline.

L'immagine seguente mostra un esempio di report di tendenza della durata.

Screenshot del report di tendenza 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

  • Accesso: essere un membro di un progetto con almeno l'accesso Basic .
  • Autorizzazioni: per impostazione predefinita, i membri del progetto dispongono dell'autorizzazione per eseguire query su Analisi e creare viste.
  • 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 che sia possibile leggere 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 di tendenza della 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.

Ottenere la tendenza di durata dell'80° percentile per una pipeline specificata

Copiare e incollare la query di Power BI seguente direttamente nella finestra Recupera dati>query vuota. 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.8,CompletedDateSK) as Duration80thPercentileInSeconds) "
                &"/groupby( "
                &"(Duration80thPercentileInSeconds, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,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.8,CompletedDateSK) as Duration80thPercentileInSeconds)

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

/groupby(

Start groupby()

(Duration80thPercentileInSeconds, CompletedOn/Date))

Raggruppare in base alla data di completamento dell'esecuzione della pipeline e alla durata calcolata dell'80° percentile della pipeline.

&$orderby=CompletedOn/Date asc

Ordinare la risposta in base alla data di completamento.

Filtrare in base all'ID della pipeline anziché al nome della pipeline

È 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}`

Copiare e incollare la query di Power BI seguente direttamente nella finestra Recupera dati>query vuota. 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.8,CompletedDateSK) as Duration80thPercentileInSeconds) "
                &"/groupby( "
                &"(Duration80thPercentileInSeconds, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Ottenere il 50° e il 90° percentile, insieme alla tendenza dell'80° percentile

È possibile visualizzare la tendenza della durata calcolata usando un altro valore percentile. Le query seguenti forniscono la durata della pipeline 50 e 90° percentile insieme all'80° percentile.

Copiare e incollare la query di Power BI seguente direttamente nella finestra Recupera dati>query vuota. 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,CompletedDateSK) as Duration50thPercentileInSeconds, "
                &"percentile_cont(TotalDurationSeconds, 0.8,CompletedDateSK) as Duration80thPercentileInSeconds, "
                &"percentile_cont(TotalDurationSeconds, 0.90,CompletedDateSK) as Duration90thPercentileInSeconds) "
            &"/groupby( "
                &"(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds, Duration90thPercentileInSeconds, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Filtrare per ramo

Per visualizzare la tendenza della 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 Modificare il tipo di dati della colonna e Creare il report grafico a linee.

  • Espandere in Branch Branch.BranchName.
  • Selezionare Filtro dei dati delle visualizzazioni di Power BI e aggiungere Branch.BranchName al campo del filtro dei dati.
  • Selezionare la pipeline dal filtro dei dati per cui è necessario visualizzare la tendenza della durata della pipeline.

Copiare e incollare la query di Power BI seguente direttamente nella finestra Recupera dati>query vuota. 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.8,BranchSK, CompletedDateSK) as Duration80thPercentileInSeconds) "
                &"/groupby( "
                &"(Duration80thPercentileInSeconds, Branch/BranchName, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tendenza durata per tutte le pipeline di progetto

È possibile visualizzare la tendenza della durata per tutte le pipeline del progetto in un singolo report. Per creare il report, eseguire i passaggi aggiuntivi seguenti insieme a quanto descritto nelle sezioni Modificare il tipo di dati della colonna e Creare il report grafico a linee.

  • Espandere in Pipeline Pipeline.PipelineName.
  • Selezionare Filtro dei dati nel riquadro Visualizzazioni e aggiungere al Pipeline.PipelineNam campo del filtro dei dati.
  • Selezionare la pipeline dal filtro dei dati per cui è necessario visualizzare la tendenza della velocità di passaggio della pipeline.

Copiare e incollare la query di Power BI seguente direttamente nella finestra Recupera dati>query vuota. 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.8,PipelineId, CompletedDateSK) as Duration80thPercentileInSeconds) "
            &"/groupby( "
                &"(Duration80thPercentileInSeconds, Pipeline/PipelineName, CompletedOn/Date)) "
                &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Espandere le colonne in editor di Power Query

Prima di creare il report, è necessario espandere le colonne che restituiscono record contenenti diversi campi. In questa istanza si vuole espandere la CompletedOn colonna per appiattirla in CompletedOn.Date.
Per informazioni su come espandere gli elementi di lavoro, vedere Trasformare i dati di Analisi per generare report di Power BI.

Modificare il tipo di dati della colonna

Dal menu Trasforma modificare il tipo di dati per l'oggetto Duration80thPercentileInSeconds in Numero decimale. Per informazioni su come, vedere Trasformare un tipo di dati di colonna.

(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 Grafico a linee

  1. In Power BI, in Visualizzazioni, scegliere il report Grafico a linee.

    Screenshot delle selezioni dei campi di visualizzazione per il report di tendenza della durata dell'esecuzione delle pipeline.

  2. Aggiungi CompletedOn.Date all'asse X, fai clic con il pulsante destro del mouse su di esso e scegli CompletedOn.Date, anziché Gerarchia data.

  3. Aggiungi Duration80thPercentileInSeconds all'asse Y facendo clic con il pulsante destro del mouse e verifica che Sum sia selezionato.

Il report visualizzato dovrebbe essere simile all'immagine seguente.

Screenshot del report di tendenza della durata della pipeline di esempio di Power BI.