Docs de Autonomy
Integraciones

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.run con un hijo autonomy.step por 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

SpanUno porEstado
autonomy.runEjecuciónError cuando el resultado de la ejecución es Failed.
autonomy.stepPaso del caso de pruebaError 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:

AtributoEnContenido
test.run_id, test.run_execution_idEjecución, pasoLa ejecución.
test.plan_id, test.plan_nameEjecuciónEl caso de prueba que se ejecutó.
test.platformEjecución, pasoweb, ios, android o api.
test.statusEjecución, pasoPaso: passed o failed. Ejecución: passed, failed, couldnt_start o cancelled.
test.step_indexPasoLa posición del paso en el caso de prueba.
test.step_actionPasoSiempre check.
test.step_targetPasoEl resultado esperado del paso, tal como está escrito en el caso de prueba.
autonomy.diagnosis.categoryPasoPor qué un paso no se superó, como código de categoría, cuando lo hay.
autonomy.project_id, autonomy.project_nameEjecución, pasoEl proyecto de la ejecución.
autonomy.org_idEjecuciónTu organización.
autonomy.run_urlEjecución, pasoUn 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.
  1. Abre Organization → Integrations → OpenTelemetry.
  2. En Trace export, elige tu Vendor: Datadog, Grafana, Honeycomb o Generic. Rellena el formato del endpoint y de las cabeceras.
  3. Introduce el OTLP endpoint. Autonomy añade /v1/traces por su cuenta. Debe usar HTTPS.
  4. Introduce las Headers como pares key=value separados por comas. Se guardan como secreto y no se vuelven a mostrar.
  5. Pulsa Send test span. Autonomy envía un span autonomy.test_connection y muestra el estado HTTP y el tiempo que tardó.
  6. 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, o https://api.eu1.honeycomb.io en la UE.
  • Cabeceras: x-honeycomb-team=<your ingest key>. En Honeycomb Classic, añade x-honeycomb-dataset=<dataset>.
  • Dónde mirar: el dataset autonomy-runner-labs. Prueba primero test.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:

VariableObligatoriaSignificado
AUTONOMY_OBSERVABILITY_EXPORTSíPonla a otel para activar la exportación.
OTEL_EXPORTER_OTLP_ENDPOINTSíEl endpoint OTLP base. Se añade /v1/traces.
OTEL_EXPORTER_OTLP_HEADERSNoPares key=value separados por comas que se envían en cada exportación.
OTEL_SERVICE_NAMENoEl 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?

On this page