Datadog
Envía las trazas de ejecución de Autonomy a Datadog APM, inspecciona los pasos fallidos y correlaciónalos con las trazas de tu aplicación.
Conecta Autonomy a Datadog mediante su ingesta de trazas OTLP/HTTP. Cada ejecución produce un span autonomy.run, spans autonomy.step anidados e hijos autonomy.action.*. La integración ya está disponible en Settings → Observability para las ejecuciones realizadas por runner-labs.
Antes de empezar
Acceso necesario
- Una cuenta de administrador del workspace de Autonomy y un caso de prueba que se ejecute en runner-labs.
- Una organización de Datadog con ingesta APM habilitada y acceso a su Trace Explorer.
- Una clave API de Datadog obtenida en Organization Settings → API Keys, perteneciente a esa organización.
- Tu site de Datadog, identificado por el dominio donde inicias sesión.
La credencial de ingesta es una clave API de Datadog. Las claves de aplicación y las claves aut_ de Autonomy no autentican contra Datadog. Guárdala en el campo Headers, donde Autonomy la almacena cifrada y nunca la devuelve al panel.
Elige tu endpoint de Datadog
Introduce la URL base de tu site de Datadog en OTLP Endpoint. Autonomy añade /v1/traces y envía JSON por HTTPS. Datadog admite esta codificación http/json.
| Site de Datadog | Dominio de inicio de sesión | OTLP Endpoint |
|---|---|---|
| US1 | app.datadoghq.com | https://otlp.datadoghq.com |
| US3 | us3.datadoghq.com | https://otlp.us3.datadoghq.com |
| US5 | us5.datadoghq.com | https://otlp.us5.datadoghq.com |
| EU | app.datadoghq.eu | https://otlp.datadoghq.eu |
| AP1 | ap1.datadoghq.com | https://otlp.ap1.datadoghq.com |
| AP2 | ap2.datadoghq.com | https://otlp.ap2.datadoghq.com |
| UK1 | uk1.datadoghq.com | https://otlp.uk1.datadoghq.com |
| US1-FED | app.ddog-gov.com | https://otlp.ddog-gov.com |
| US2-FED | us2.ddog-gov.com | https://otlp.us2.ddog-gov.com |
Estas URL siguen el selector de site de la ingesta OTLP de trazas actual de Datadog. Una clave de un site no autentica contra la ingesta de otro.
Conecta y verifica
-
Abre Settings → Observability en Autonomy y selecciona Datadog.
-
Pega la URL base de tu site en OTLP Endpoint. Introdúcela explícitamente, aunque el texto de ejemplo muestre la dirección correcta.
-
Introduce este valor en Headers, sustituyendo
YOUR_DATADOG_API_KEYpor tu clave API:dd-api-key=YOUR_DATADOG_API_KEY -
Pulsa Send Test Span. Una respuesta HTTP correcta confirma que la ingesta aceptó la solicitud; no demuestra que el span ya se pueda buscar.
-
En Datadog, abre APM → Trace Explorer, selecciona un intervalo reciente y busca
service:autonomy-runner-labs. Encuentra el spanautonomy.test_connection. -
Activa Trace Export y pulsa Save Configuration. Inicia una nueva ejecución de un caso de prueba para que su runner reciba la configuración guardada.
-
Al terminar la ejecución, busca su ID con la consulta siguiente. Sustituye
RUN_IDpor el ID de la URL de la ejecución en Autonomy. Abre la traza y confirma que llegaron los spans de la ejecución y de los pasos.
service:autonomy-runner-labs @test.run_id:"RUN_ID"Para obtener métricas de trazas APM de Datadog, puedes añadir ,compute_stats=true a Headers. La ingesta directa no calcula esas métricas por defecto. Guarda el valor completo de la cabecera, incluido dd-api-key, cuando lo cambies o rotes.
Inspecciona un paso fallido en APM
Ejecuta un caso de prueba con una aserción que sepas que falla en un entorno de pruebas. Ajusta el intervalo de Trace Explorer a esa ejecución y busca:
service:autonomy-runner-labs status:error @test.status:failed @test.step_index:*El autonomy.step fallido tiene estado de error OTLP (code: 2). Inspecciona test.step_action, test.step_target, autonomy.recovery_count y autonomy.diagnosis.category cuando esté presente. Abre la vista en cascada de su traza para ver los tiempos de las acciones. Son spans de APM, no una integración independiente de gestión de pruebas de Datadog.
Los spans de ejecución y de paso contienen autonomy.run_url; abre esa URL para volver a las evidencias de la ejecución en Autonomy. Los spans de acción contienen autonomy.action.success y heredan su posición en la traza, pero no llevan la URL de la ejecución. Los nombres de los casos de prueba (test.plan_name) están en el span de ejecución. Esta integración no exporta detalles de los modelos, prompts, capturas de pantalla ni mensajes de error sin procesar.
Datadog puede asignar los nombres de span a sus campos de operación y recurso. Utiliza los atributos exportados para filtrar de forma fiable; la sintaxis de búsqueda de trazas de Datadog explica las consultas por atributos.
Pasa a una traza de la aplicación
Autonomy crea un ID de traza independiente para cada ejecución. No inyecta ese ID ni una cabecera traceparent en tu aplicación web o móvil. La traza de Autonomy y la de la solicitud de la aplicación son independientes, por lo que buscar un ID de ejecución no encuentra automáticamente las solicitudes de producción.
-
Instrumenta la aplicación y sus servicios backend para enviar sus propias trazas a Datadog. Deben registrar el servicio, el entorno y el recurso de la solicitud correspondientes; los identificadores de solicitud o de pedido ayudan a acotar la coincidencia.
-
Anota el intervalo temporal y el destino del paso fallido de Autonomy. Usa
autonomy.run_urlpara consultar las evidencias de la ejecución y encontrar un ID de solicitud u otro identificador, si tu aplicación lo expone. -
Abre otra pestaña de Trace Explorer con el mismo intervalo. Busca el servicio y el entorno de la aplicación, y luego filtra por el recurso real o el identificador de solicitud. Por ejemplo, adapta estos valores a las etiquetas de tu aplicación:
service:checkout-api env:production resource_name:"POST /orders" -
Abre la traza candidata y confirma que sus identificadores y tiempos coinciden antes de atribuirle el fallo. Si la ejecución apuntaba a una vista previa, utiliza su entorno; una traza de producción cercana en el tiempo no basta para establecer una coincidencia.
Esta correlación es manual. Sin instrumentación de la aplicación o evidencias que distingan la solicitud, la integración no puede identificar una traza de producción única.
Solución de problemas
- HTTP 401 o 403: comprueba el site de Datadog y la clave API. Usa
dd-api-key, no una clave de aplicación ni de Autonomy. - HTTP 404: copia la URL base de la tabla. La ruta de la solicitud resultante debe ser
/v1/traces. - Llega el span de prueba, pero no los spans de ejecución: confirma que Trace Export está activado y guardado, que la ejecución comenzó después y que se realizó en runner-labs. Los runners autoalojados pueden cambiar el nombre del servicio mediante
OTEL_SERVICE_NAME. - Los spans desaparecen de las búsquedas: revisa el intervalo seleccionado y la configuración de retención de trazas de Datadog. Que una exportación se acepte no garantiza que todos los spans se indexen para búsquedas posteriores.
- Una ejecución termina correctamente durante una caída de Datadog: la exportación intenta entregar las trazas, pero no cambia el veredicto. Utiliza el resultado de la ejecución de Autonomy para bloquear o permitir el avance de CI.
Para las variables de entorno de runners autoalojados y la eliminación de credenciales, consulta Observabilidad (OTLP).