Exportación a OpenTelemetry
Exporta una traza por cada ejecución, con un span por paso, a tu backend OTLP.
Autonomy puede exportar cada ejecución como una traza de OpenTelemetry al backend que tu equipo ya usa: Datadog, Grafana, Honeycomb o cualquier endpoint OTLP. Los pasos fallidos llevan un estado de error, así que aparecen en las mismas vistas de trazas, paneles y alertas que el tráfico de tu aplicación.
Qué hace
- Exporta una traza por ejecución: un span
autonomy.runcon un hijoautonomy.steppor cada paso. - Marca las ejecuciones fallidas y los pasos fallidos con un estado de error OTLP.
- Añade en cada span un enlace de vuelta a la ejecución en Autonomy.
- Etiqueta cada span con su proyecto, para que puedas filtrar las ejecuciones de un proyecto.
- Envía los ajustes a los runners alojados por ti. Lo configuras una vez; no cambia nada en el runner.
- Nunca ralentiza una ejecución: si tu endpoint va lento o está caído, la ejecución continúa y no se reintenta nada.
Los spans
| Span | Uno por | Estado |
|---|---|---|
autonomy.run | Ejecución | Error cuando el resultado de la ejecución es Failed. |
autonomy.step | Paso del caso de prueba | Error cuando el paso falló. |
Un span de paso abarca el paso entero, desde la primera acción del agente hasta el Final check. Las acciones individuales del agente no se exportan como spans: están en las Step Actions de la ejecución en Autonomy.
Qué se exporta
Los spans solo llevan un conjunto autorizado de atributos:
| Atributo | En | Contenido |
|---|---|---|
test.run_id, test.run_execution_id | Ejecución, paso | La ejecución. |
test.plan_id, test.plan_name | Ejecución | El caso de prueba que se ejecutó. |
test.platform | Ejecución, paso | web, ios, android o api. |
test.status | Ejecución, paso | Paso: passed o failed. Ejecución: passed, failed, couldnt_start o cancelled. |
test.step_index | Paso | La posición del paso en el caso de prueba. |
test.step_action | Paso | Siempre check. |
test.step_target | Paso | El resultado esperado del paso, tal como está escrito en el caso de prueba. |
autonomy.diagnosis.category | Paso | Por qué un paso no se superó, como código de categoría, cuando lo hay. |
autonomy.project_id, autonomy.project_name | Ejecución, paso | El proyecto de la ejecución. |
autonomy.org_id | Ejecución | Tu organización. |
autonomy.run_url | Ejecución, paso | Un enlace a la ejecución en Autonomy. |
No sale nada más de Autonomy. Nunca se exportan detalles del modelo de IA, costes, prompts, nombres de herramientas, capturas, contenido de las páginas ni mensajes de error en bruto. El exportador descarta cualquier atributo que no esté en la lista.
Configuración
Antes de empezar
- Acceso de propietario o administrador de la organización en Autonomy.
- Un endpoint de ingesta de trazas OTLP/HTTP en una dirección HTTPS pública.
- Una credencial de ingesta para tu backend: una clave de API, un token o una cabecera de autenticación básica.
- Abre Organization → Integrations → OpenTelemetry.
- En Trace export, elige tu Vendor: Datadog, Grafana, Honeycomb o Generic. Rellena el formato del endpoint y de las cabeceras.
- Introduce el OTLP endpoint. Autonomy añade
/v1/tracespor su cuenta. Debe usar HTTPS. - Introduce las Headers como pares
key=valueseparados por comas. Se guardan como secreto y no se vuelven a mostrar. - Pulsa Send test span. Autonomy envía un span
autonomy.test_connectiony muestra el estado HTTP y el tiempo que tardó. - Busca el span en tu explorador de trazas, en el servicio
autonomy-runner-labs. Después activa Trace export y pulsa Save settings.
Se exportan las ejecuciones que empiezan después de guardar.
Configuración por proveedor
Datadog
Consulta Datadog para ver el endpoint de cada sitio de Datadog, la cabecera de la clave de API y las búsquedas de pasos fallidos.
Grafana Cloud (Tempo)
- Endpoint:
https://otlp-gateway-<region>.grafana.net/otlp, de la página de detalles de OpenTelemetry de tu stack. - Cabeceras:
Authorization=Basic <base64 of instanceID:token>, con un token que pueda escribir trazas. - Dónde mirar: Explore con la fuente de datos de Tempo, con la consulta
{resource.service.name="autonomy-runner-labs"}.
Honeycomb
- Endpoint:
https://api.honeycomb.io, ohttps://api.eu1.honeycomb.ioen la UE. - Cabeceras:
x-honeycomb-team=<your ingest key>. En Honeycomb Classic, añadex-honeycomb-dataset=<dataset>. - Dónde mirar: el dataset
autonomy-runner-labs. Prueba primerotest.status = failed.
OTLP genérico
Funciona cualquier collector o proveedor que acepte OTLP/HTTP con JSON en /v1/traces, como un OpenTelemetry Collector. Usa su URL base en un nombre de host HTTPS público y las cabeceras de autenticación que espere.
Filtrar por proyecto
Cada span tiene autonomy.project_id y autonomy.project_name. Úsalos para crear un panel o una alerta por proyecto, por ejemplo los pasos fallidos cuyo autonomy.project_name es Storefront.
Runners autoalojados
Los ajustes del panel también llegan a los runners autoalojados. Un runner autoalojado sin ellos puede exportar por su cuenta con variables de entorno en la máquina del runner:
| Variable | Obligatoria | Significado |
|---|---|---|
AUTONOMY_OBSERVABILITY_EXPORT | Sí | Ponla a otel para activar la exportación. |
OTEL_EXPORTER_OTLP_ENDPOINT | Sí | El endpoint OTLP base. Se añade /v1/traces. |
OTEL_EXPORTER_OTLP_HEADERS | No | Pares key=value separados por comas que se envían en cada exportación. |
OTEL_SERVICE_NAME | No | El nombre del servicio en los spans. Por defecto, autonomy-runner-labs. |
Consulta Runners.
Cambiar o eliminar las credenciales
Las cabeceras son de solo escritura. Para cambiarlas, introduce el valor nuevo y guarda; sustituye al anterior. Para eliminarlas, pulsa Clear stored headers. El endpoint se mantiene, pero las exportaciones se envían sin credenciales, algo que la mayoría de backends rechaza, hasta que guardes unas nuevas.
Solución de problemas
Send test span devuelve 401 o 403
Tu backend rechazó la credencial. Comprueba el nombre de la cabecera para tu proveedor (dd-api-key, Authorization, x-honeycomb-team) y que la credencial pueda escribir trazas.
Send test span devuelve 404
No hay ningún endpoint de ingesta de trazas en esa dirección. Introduce solo el endpoint base: Autonomy añade /v1/traces, así que la causa habitual es una ruta duplicada.
Se rechaza el endpoint
Solo se aceptan nombres de host HTTPS públicos. Se rechazan HTTP sin cifrar, las direcciones IP, localhost y los nombres .internal o .local. Para un collector dentro de tu red, pon delante un ingress HTTPS.
El span de prueba llega, pero las ejecuciones no exportan nada
Comprueba que Trace export está activado y guardado, y que la ejecución empezó después de guardar. Los problemas de exportación nunca cambian una ejecución, así que una credencial incorrecta se nota en que faltan spans, no en errores de la ejecución. Vuelve a enviar un span de prueba para comprobarlo.
¿No lo encontraste?