Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Per visualizzare il tempo necessario per completare le attività per una pipeline specifica, è possibile creare un report di tendenza. Ad esempio, l'immagine seguente mostra l'80° percentile in secondi per tutte le attività completate per una pipeline specifica dal 1° settembre al 15 dicembre 2022.
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.
Categoria | Requisiti |
---|---|
Livelli di accesso |
-
membro del progetto. - Accesso di base almeno. |
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 tu abbia letto Panoramica dei report di esempio usando le query OData e abbia una conoscenza di base di Power BI.
Query di esempio
È possibile usare le query seguenti del set di entità PipelineRunActivityResults?
per creare report di tendenza della durata dell'attività 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 sotto un EntityType
o NavigationPropertyBinding Path
valori disponibili con un 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
.
Tendenza della durata dell'attività per il nome della pipeline specificato
Copia e incolla la seguente query di Power BI 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/PipelineRunActivityResults?"
&"$apply=filter( "
&"Pipeline/PipelineName eq '{pipelinename}' "
&"and TaskDisplayName eq '{taskname}' "
&"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.8, PipelineRunCompletedDateSK) as TaskDuration80thPercentileInSeconds) "
&"/groupby( "
&"(TaskDuration80thPercentileInSeconds, PipelineRunCompletedOn/Date)) "
&"&$orderby=PipelineRunCompletedOn/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 {} 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 del 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 utilizzare virgolette o parentesi quadre e usa due cifre sia per il mese che per il giorno.
Suddivisione delle query
La tabella seguente descrive ogni parte della query.
Parte della query
Descrizione
$apply=filter(
Inizio filter()
clausola.
Pipeline/PipelineName eq '{pipelinename}'
Restituisci i risultati dell'attività per una pipeline specifica.
and TaskDisplayName eq '{taskname}'
Restituire i risultati per un'attività specifica.
and PipelineRunCompletedOn/Date ge {startdate}
Restituisce i risultati dell'attività per le esecuzioni 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 completamente riuscite o parzialmente riuscite.
and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1)
Omettere le esecuzioni di pipeline annullate, saltate o abbandonate.
)
Chiudi la clausola filter()
.
/compute(
Inizia compute()
clausola.
percentile_cont(ActivityDurationSeconds, 0.8, PipelineRunCompletedDateSK) as TaskDuration80thPercentileInSeconds)
Per ogni giorno, calcolare l'80° percentile delle durate delle attività di tutte le attività che soddisfano i criteri di filtro.
/groupby(
Inizio groupby()
clausola.
(TaskDuration80thPercentileInSeconds, PipelineRunCompletedOn/Date))
Raggruppare per data di completamento dell'esecuzione della pipeline e calcolare su base giornaliera la durata dell'attività al 80° percentile.
&$orderby=PipelineRunCompletedOn/Date asc
Ordinare la risposta in base alla data di completamento.
Tendenza della durata dell'attività per una pipeline, specificare l'ID 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 di esecuzione delle pipeline.
https://dev.azure.com/{organization}/{project}/_build?definitionId={pipelineid}
Copiare e incollare la seguente query di Power BI 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/PipelineRunActivityResults?"
&"$apply=filter( "
&"Pipeline/PipelineId eq {pipelineid} "
&"and TaskDisplayName eq '{taskname}' "
&"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.8, PipelineRunCompletedDateSK) as TaskDuration80thPercentileInSeconds) "
&"/groupby( "
&"(TaskDuration80thPercentileInSeconds, PipelineRunCompletedOn/Date)) "
&"&$orderby=PipelineRunCompletedOn/Date asc "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Tendenza della durata delle attività al 50°, 80° e 90° percentile per una pipeline
Per visualizzare la tendenza della durata dell'attività calcolata usando un altro valore percentile, usare la query seguente che fornisce la durata dell'attività 50 e 95° percentile insieme all'80° percentile.
Copia e incolla la seguente query di Power BI 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/PipelineRunActivityResults?"
&"$apply=filter( "
&"Pipeline/PipelineName eq '{pipelinename}' "
&"and TaskDisplayName eq '{taskname}' "
&"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, PipelineRunCompletedDateSK) as TaskDuration50thPercentileInSeconds, "
&"percentile_cont(ActivityDurationSeconds, 0.8, PipelineRunCompletedDateSK) as TaskDuration80thPercentileInSeconds, "
&"percentile_cont(ActivityDurationSeconds, 0.95, PipelineRunCompletedDateSK) as TaskDuration95thPercentileInSeconds) "
&"/groupby( "
&"(TaskDuration50thPercentileInSeconds, TaskDuration80thPercentileInSeconds, TaskDuration95thPercentileInSeconds, PipelineRunCompletedOn/Date)) "
&"&$orderby=PipelineRunCompletedOn/Date asc "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Tendenza della durata dell'attività per una pipeline filtrata per ramo
Per visualizzare la tendenza della durata di un'attività per un ramo specifico, usare la query seguente. Per creare il report, seguire questa procedura:
- Espandi
Branch
inBranch.BranchName
- Modificare il tipo di dati della colonna
- Creare il report Grafico a linee
- Selezionare Filtro dei dati nel riquadro Visualizzazioni e aggiungere al
Branch.BranchName
campo del filtro dei dati - Selezionare il ramo dal filtro dei dati per il quale è necessario visualizzare la tendenza della durata dell'attività.
Copia e incolla la seguente query di Power BI 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/PipelineRunActivityResults?"
&"$apply=filter( "
&" Pipeline/PipelineName eq '{pipelinename}' "
&" and TaskDisplayName eq '{taskname}' "
&" 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.8, BranchSK, PipelineRunCompletedDateSK) as TaskDuration80thPercentileInSeconds) "
&"/groupby( "
&" (TaskDuration80thPercentileInSeconds, Branch/BranchName, PipelineRunCompletedOn/Date)) "
&"&$orderby=PipelineRunCompletedOn/Date asc "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Tendenza della durata dell'attività per tutte le attività della pipeline
Per visualizzare la tendenza della durata dell'attività per tutte le attività della pipeline in un singolo report, usare la query seguente. Per creare il report, seguire questa procedura:
- Modificare il tipo di dati della colonna
- Creare il report grafico a linee
- Selezionare Slicer dal riquadro Visualizzazioni e aggiungere
TaskDisplayName
al campo del Slicer - Seleziona l'attività dal filtro per cui vuoi vedere la tendenza della durata dell'attività.
Copia e incolla la seguente query di Power BI 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/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.8, TaskDisplayName, PipelineRunCompletedDateSK) as TaskDuration80thPercentileInSeconds) "
&"/groupby( "
&"(TaskDuration80thPercentileInSeconds, TaskDisplayName, PipelineRunCompletedOn/Date)) "
&"&$orderby=PipelineRunCompletedOn/Date asc "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
(Facoltativo) Rinominare la query
È possibile rinominare l'etichetta di query predefinita Query1 in qualcosa di più significativo. È sufficiente immettere un nuovo nome nel riquadro Impostazioni query.
Espandere le colonne in editor di Power Query
Prima di creare il report, è necessario espandere le colonne che restituiscono record contenenti diversi campi. In questo caso, si vuole espandere la PipelineRunCompletedOn
colonna per appiattirla a PipelineRunCompletedOn.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 la TaskDuration80thPercentileInSeconds
colonna in Numero decimale. Per imparare come, vedere Trasformare un tipo di dati colonna.
(Facoltativo) Rinominare i campi della colonna
È possibile rinominare i campi delle colonne. Ad esempio, è possibile rinominare la colonna TaskDuration80thPercentileInSeconds
in 80th Percentile
. 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.
Creare il report grafico a linee
In Power BI, in Visualizzazioni, scegliere il report Grafico a linee.
Aggiungi
PipelineRunCompletedOn.Date
all'asse X. Fare clic con il pulsante destro del mouse sul campo e scegliere PipelineRunCompletedOn.Date al posto di Gerarchia Data.Aggiungi
TaskDuration80thPercentileInSeconds
all'asse Y e fai clic con il pulsante destro del mouse su di esso per assicurarti che Sum sia selezionato.Per modificare il titolo del report, selezionare l'icona del pennello visivo dal riquadro Visualizzazioni, selezionare Generale, espandere Titolo e sostituire il testo esistente.
L'immagine seguente mostra il report risultante.