Report di esempio della durata dell'attività della pipeline

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

Quanto tempo richiede attività diverse per il completamento? Questo articolo fornisce le query da cui è possibile generare un report per una pipeline specifica e le relative attività. Ad esempio, l'immagine seguente elenca il 50, l'80 e il 95° percentile in secondi per tutte le attività completate per una pipeline specifica dal 1° settembre al 15 dicembre 2022.

Screenshot del report di tendenza della tabella della durata dell'attività 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

Eseguire una query sul PipelineRunActivityResults? set di entità per restituire le informazioni sulla durata dell'attività.

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.

È 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/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

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 PipelineRunCompletedOn/Date ge {startdate}

Restituire i risultati dell'attività per un'esecuzione della pipeline in o dopo la data specificata.

and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded')

Restituisce i risultati dell'attività solo per esecuzioni di pipeline riuscite o parzialmente riuscite.

and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1)

Omettere le esecuzioni di pipeline annullate, ignorate o abbandonate.

)

Chiudere la filter() clausola .

/compute(

Clausola Start compute() .

percentile_cont(ActivityDurationSeconds, 0.5, TaskDisplayName) as TaskDuration50thPercentileInSeconds,

Per ogni attività, calcolare il 50° percentile delle durate delle attività per tutte le attività che soddisfano i criteri di filtro.

percentile_cont(ActivityDurationSeconds, 0.8, TaskDisplayName) as TaskDuration80thPercentileInSeconds,

Per ogni attività, calcolare l'80° percentile delle durate delle attività per tutte le attività che soddisfano i criteri di filtro.

percentile_cont(ActivityDurationSeconds, 0.95, TaskDisplayName) as TaskDuration95thPercentileInSeconds)

Per ogni attività, calcolare il 95° percentile delle durate delle attività per tutte le attività che soddisfano i criteri di filtro.

/groupby(

Avviare la groupby() clausola .

(TaskDuration50thPercentileInSeconds, TaskDuration80thPercentileInSeconds,TaskDuration95thPercentileInSeconds, TaskDisplayName))

Raggruppa per attività di esecuzione della pipeline e durata dell'attività del 50° percentile calcolata, durata dell'attività 80° percentile e durata dell'attività 95° percentile.

&$orderby=TaskDuration50thPercentileInSeconds desc

Ordinare la risposta in base all'attività con una durata massima del 50° percentile.

(Facoltativo) Rinominare la query

È possibile rinominare l'etichetta di query predefinita Query1 in qualcosa di più significativo. È sufficiente immettere un nuovo nome dal riquadro Query Impostazioni.

Screenshot delle opzioni del menu query di Power BI, rinominare la query.

Modificare il tipo di dati della colonna

Dal menu Trasforma modificare il tipo di dati per le colonne seguenti per Decimal Number**. informazioni su come, vedere Trasformare un tipo di dati di colonna.
- TaskDuration80thPercentileInSeconds - TaskDuration80thPercentileInSeconds - TaskDuration95thPercentileInSeconds.

(Facoltativo) Rinominare i campi della colonna

È possibile rinominare i campi delle colonne. Ad esempio, è possibile rinominare le colonne seguenti in modo che siano più semplici da visualizzare. Per informazioni su come, vedere Rinominare i campi delle colonne.

Nome campo originale Campo rinominato
TaskDisplayName Nome attività
TaskDuration50thPercentileInSeconds 50° percentile
TaskDuration80thPercentileInSeconds 80° percentile
TaskDuration95thPercentileInSeconds 95° Percentile

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 Tabella

  1. In Power BI, in Visualizzazioni, scegliere il report Tabella . I campi sono stati rinominati come indicato nella sezione Rinomina campi colonna.

    Screenshot delle selezioni dei campi di visualizzazione per il report della tabella della durata dell'attività.

  2. Aggiungere i campi seguenti alle colonne nell'ordine specificato.

    • Nome attività
    • 50° percentile
    • 80° percentile
    • 95° Percentile
  3. Per modificare il titolo del report, selezionare l'icona Formatta il pennello visivo nel riquadro Visualizzazioni , selezionare Generale, espandere Titolo e sostituire il testo esistente.

L'immagine seguente mostra una parte del report risultante.

Screenshot del report di tendenza della tabella della durata dell'attività di esempio pipeline di Power BI.