Informe de ejemplo de tendencia de duración de la tubería

Servicios de Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

En este artículo se muestra cómo crear un informe que muestra cuánto tiempo tarda normalmente la canalización en completarse correctamente. La tendencia diaria del informe de duración de la canalización es similar al gráfico Duración de la canalización del informe Duración de la canalización.

En la imagen siguiente se muestra un ejemplo de un informe de tendencias de duración.

Captura de pantalla del informe de tendencia de duración de Power BI Pipelines.

Nota:

Las consultas de muestra en este artículo requieren la versión v3.0-preview o posterior de la fuente OData de Analytics. Comparta sus comentarios.

Categoría Requisitos
Niveles de acceso - Miembro del proyecto.
- Al menos acceso Básico.
Permisos De forma predeterminada, los miembros del proyecto tienen permiso para consultar Analytics y crear vistas. Para obtener más información sobre otros requisitos previos relacionados con las actividades de habilitación de servicios y características y seguimiento de datos generales, consulte Permisos y requisitos previos para acceder a Analytics.

Nota:

En este artículo se da por hecho que has leído Información general de informes de ejemplo mediante consultas de OData y tienes un conocimiento básico de Power BI.

Consultas de ejemplo

Para crear informes de tendencias de duración de tubería que sean diferentes pero similares, use las siguientes consultas del conjunto de entidades PipelineRuns.

Nota:

Para buscar las propiedades disponibles para el filtrado o los informes, consulte la referencia de Metadata para Azure Pipelines. Puede filtrar las consultas o devolver propiedades mediante cualquier valor Property definido en un EntityType, o cualquier valor NavigationPropertyBinding Path enumerado para un EntitySet. Cada EntitySet se asigna a un EntityType, que describe el tipo de datos de cada propiedad.

Obtener la tendencia de duración del percentil 80 para una pipeline especificada

Copie y pegue la siguiente consulta Power BI directamente en la ventana Get Data>Blank Query. Para obtener más información, consulte Información general sobre informes de ejemplo mediante consultas de 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

Cadenas de sustitución y desglose de consultas

Reemplace las cadenas siguientes por los valores. No incluya los corchetes {} en la sustitución. Por ejemplo, si el nombre de su organización es "Fabrikam", reemplace {organization} por Fabrikam, no por {Fabrikam}.

  • {organization} - El nombre de la organización
  • {project} - El nombre de tu proyecto de equipo
  • {pipelinename} - El nombre de la canalización. Ejemplo: Fabrikam hourly build pipeline
  • {startdate} - La fecha para comenzar tu informe. Formato: YYYY-MM-DD seguido de Z (indicador UTC). Ejemplo: 2026-09-01Z representa el 1 de septiembre de 2026. No incluya entre comillas ni corchetes.

Desglose de consultas

En la tabla siguiente se describe cada parte de la consulta.

Elemento de consulta

Descripción


$apply=filter(

Iniciar cláusula filter().

Pipeline/PipelineName eq '{pipelinename}'

Devuelve ejecuciones de canalización para la canalización especificada.

and CompletedDate ge {startdate}

Devuelve las ejecuciones de canalización en o después de la fecha especificada.

and (SucceededCount eq 1 or PartiallySucceededCount eq 1)

Devuelve solo las ejecuciones correctas o parcialmente correctas.

)

Cláusula de cierre filter().

/compute(

Iniciar cláusula compute().

percentile_cont(TotalDurationSeconds, 0.8,CompletedDateSK) as Duration80thPercentileInSeconds)

Calcular el percentil 80 de las duraciones para todas las ejecuciones de canalización que coincidan con los criterios de filtrado.

/groupby(

Inicia la cláusula groupby().

(Duration80thPercentileInSeconds, CompletedOn/Date))

Agrupa por fecha de finalización y la duración calculada de la canalización de percentil 80.

&$orderby=CompletedOn/Date asc

Ordena la respuesta por fecha de finalización.

Filtrar por identificador de canalización, en lugar de por nombre de canalización

Puede cambiar el nombre de las canalizaciones. Para asegurarse de que los informes de Power BI no se interrumpan al cambiar el nombre de la canalización, use el identificador de canalización en lugar del nombre de la canalización. Puede tener el ID de la canalización en la URL de la página de ejecuciones de canalización.

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

Copie y pegue la siguiente consulta Power BI directamente en la ventana Get Data>Blank Query. Para obtener más información, consulte Información general sobre informes de ejemplo mediante consultas de 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

Obtener los percentiles 50 y 90, junto con la tendencia de duración del percentil 80

Es posible que desee ver la tendencia de duración calculada con otros valores de percentil. Las siguientes consultas proporcionan el percentil 50 y 90 de duración de la pipeline junto con el percentil 80.

Copie y pegue la siguiente consulta Power BI directamente en la ventana Get Data>Blank Query. Para obtener más información, consulte Información general sobre informes de ejemplo mediante consultas de 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

Filtrar por rama

Para ver la tendencia de duración de una canalización solo para una rama determinada, use las siguientes consultas. Para crear el informe, siga estos pasos adicionales junto con los pasos descritos en las secciones Cambiar tipo de datos de columna y Crear el informe gráfico de líneas.

  • Expanda Branch en Branch.BranchName.
  • Seleccione Power BI Visualization Segmentación y añada Branch.BranchName al Campo del segmentador.
  • Seleccione la rama del slicer para el que necesita ver la tendencia de duración del pipeline.

Copie y pegue la siguiente consulta Power BI directamente en la ventana Get Data>Blank Query. Para obtener más información, consulte Información general sobre informes de ejemplo mediante consultas de 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

Tendencia de duración para todas las canalizaciones de proyecto

Es posible que desee ver la tendencia de duración de todas las canalizaciones del proyecto en un único informe. Para crear el informe, siga estos pasos adicionales junto con los pasos descritos en las secciones Cambiar tipo de datos de columna y Crear el informe gráfico de líneas.

  • Expanda Pipeline en Pipeline.PipelineName.
  • Seleccione Filtro en el panel Visualizaciones y agregue Pipeline.PipelineName al campo del filtro.
  • Seleccione la canalización del slicer para el que necesita ver la tendencia de duración de la canalización.

Copie y pegue la siguiente consulta Power BI directamente en la ventana Get Data>Blank Query. Para obtener más información, consulte Información general sobre informes de ejemplo mediante consultas de 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

Expandir columnas en Editor de Power Query

Antes de crear el informe, debe expandir las columnas que devuelven registros que contienen varios campos. En este caso, desea expandir la CompletedOn columna para aplanarla a CompletedOn.Date.
Para obtener información sobre cómo expandir elementos de trabajo, consulte Transformar datos de Analytics para generar informes de Power BI.

Cambio del tipo de datos de columna

En el menú Transformar , cambie el tipo de datos de Duration80thPercentileInSeconds a Número decimal. Para obtener información sobre cómo hacerlo, consulte Transformación de un tipo de datos de columna.

(Opcional) Cambiar el nombre de los campos de columna

Puede cambiar el nombre de los campos de columna para que sean más fáciles de usar. Para obtener información sobre cómo hacerlo, consulte Cambiar el nombre de los campos de columna.

Cierre la consulta y aplique los cambios

Cuando termine todas las transformaciones de datos, seleccione Cerrar y aplicar en el menú Inicio . Esta acción guarda la consulta y le devuelve a la pestaña Report en Power BI.

Captura de pantalla de Editor de Power Query opción Cerrar y aplicar.

Crear el informe Gráfico de líneas

  1. En Power BI, en Visualizations, elija el gráfico de líneas .

    Captura de pantalla de las selecciones de campos de visualización para el informe de tendencias de duración de ejecución de pipelines.

  2. Agregue CompletedOn.Date al eje X, haga clic con el botón derecho en él y seleccione CompletedOn.Date, en lugar de Jerarquía de fechas.

  3. Agregue Duration80thPercentileInSeconds al Eje Y, haga clic con el botón derecho en él y asegúrese de que Sum esté seleccionada.

El informe mostrado debe ser similar a la siguiente imagen.

Captura de pantalla del informe de muestra de Power BI sobre la tendencia de la duración de los pipelines.