Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Servicios de Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022
En este artículo se muestra cómo obtener la duración de la canalización o el tiempo necesario para ejecutar una canalización. Este informe es similar a la métrica de resumen de duración en el gráfico de Duración de la Tubo del Informe de Duración de la Tubo.
En la imagen siguiente se muestra un ejemplo de un informe de duración para una canalización específica.
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
Utilice las siguientes consultas del conjunto de entidades PipelineRuns para crear informes de duración de canalizaciones diferentes pero similares.
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.
Devolver duraciones en percentiles de una canalización concreta
- consulta Power BI
- Consulta de OData
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) 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
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-DDseguido deZ(indicador UTC). Ejemplo:2026-09-01Zrepresenta 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.5) as Duration50thPercentileInSeconds,
Calcular el percentil 50 de las duraciones para todas las ejecuciones de canalización que coincidan con los criterios de filtrado.
percentile_cont(TotalDurationSeconds, 0.8) as Duration80thPercentileInSeconds,
Calcular el percentil 80 de las duraciones para todas las ejecuciones de canalización que coincidan con los criterios de filtrado.
percentile_cont(TotalDurationSeconds, 0.95) as Duration95thPercentileInSeconds)
Calcular el percentil 95 de las duraciones para todas las ejecuciones de canalización que coincidan con los criterios de filtrado.
/groupby(
Inicia la cláusula groupby().
(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds))
Agrupa la respuesta por Duration50thPercentileInSeconds, Duration80thPercentileInSecondsy Duration95thPercentileInSeconds finaliza la groupby cláusula .
Devolver duraciones en percentiles del ID de una canalización concreta
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}
- consulta Power BI
- Consulta de OData
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.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
Devuelve las duraciones de percentil para una canalización especificada, filtra por rama
Para ver la 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 gráfico de columnas agrupadas .
- Expanda
BranchenBranch.BranchName. - Agregue el campo Branch.BranchName al eje X.
- consulta Power BI
- Consulta de OData
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, 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
Devolver duraciones de percentil en todas las canalizaciones del proyecto
Para ver la duración de todas las canalizaciones del proyecto en un único informe, 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 gráfico de columnas agrupadas .
- Expanda
PipelineenPipeline.PipelineName. - Agregue el campo Pipeline.PipelineName al eje X.
Para obtener un informe de ejemplo con pasos detallados similares, consulte Resumen de resultados para todas las canalizaciones.
- consulta Power BI
- Consulta de OData
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.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
Cambio del tipo de datos de columna
En el menú Transformar , cambie el tipo de datos de las columnas siguientes a Número decimal. Para obtener información sobre cómo hacerlo, consulte Transformación de un tipo de datos de columna.
Duration50thPercentileInSecondsDuration80thPercentileInSecondsDuration95thPercentileInSeconds
(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.
Crear el informe de gráfico de columnas agrupadas
En Power BI, en Visualizations, seleccione el informe de gráfico de columnas agrupadas. En el ejemplo se supone que no se ha cambiado el nombre de ninguna columna.
Agregue los siguientes campos al eje Y, haga clic con el botón derecho en cada campo y asegúrese de que suma está seleccionada.
Duration50thPercentileInSecondsDuration80thPercentileInSecondsDuration95thPercentileInSeconds
Para cambiar el título del informe, la leyenda u otros elementos visuales del informe, seleccione el icono Formato de visual en el panel de Visualizaciones y ajuste una o varias opciones de configuración.
El informe debe tener un aspecto similar al de la imagen siguiente.
Contenido relacionado
- Construcción de consultas de OData para Analytics
- Referencia de metadatos para Azure Pipelines
- Informes de ejemplo y índice de referencia rápida