Envía y verifica eventos con CrewAI workflow telemetry
Utilice CrewAI workflow telemetry en un límite de aplicación controlado, mantenga el contrato de evento pequeño y verifique un resultado conocido antes de crear vistas agregadas.
- 1
Elige el resultado
Observabilidad del flujo de trabajo de múltiples agentes
- 2
Definir el contrato
run_id, crew_name y estado de la invocación
- 3
Emitir en el resultado
Pasa tu Crew existente y las entradas a run_research_crew. Este envoltorio solo admite kickoff síncrono; los métodos async, streams y checkpoints reanudados necesitan su propio manejo del ciclo de vida.
- 4
Verificar la evidencia
Exercise a known fixture, then inspect crew_invocation for one correctly typed terminal row.
Antes de empezar
Antes de empezar
- Un Crew síncrono existente configurado con stream=False y entradas de la aplicación
- Una TELEMETRY_API_KEY del lado del servidor; este ejemplo usa HTTP de la biblioteca estándar de Python en lugar del SDK de Telemetry
- Una política de contenido que cubra entradas de tareas, salidas de agentes, memoria, conocimiento y cargas útiles de herramientas.
Configuración de entrega
Instalar e inicializar el lado del servidor
Este envoltorio de Crew síncrono envía eventos mediante HTTP de la biblioteca estándar de Python; no requiere instalar ni inicializar el SDK de Telemetry. Mantenga las credenciales de ingesta fuera de los paquetes de navegador, las variables de entorno visibles para el cliente, el control de fuente, los registros y los mensajes de excepción.
- 1Envuelve el Crew síncrono existente con run_research_crew y mantén stream=False.
- 2Agregue el evento de resultado en el límite de éxito, error, reintento o tiempo de espera.
- 3Envíe accesorios controlados e inspeccione las filas almacenadas antes de habilitar una alerta.
Fragmento
Comience con un evento estructurado
Agregue esta forma donde el flujo de trabajo se completa, falla o se vuelve a intentar. Luego cree el panel a partir de campos reales.
Evento CrewAI workflow telemetry
import json
import os
import sys
from time import perf_counter
from urllib.request import Request, urlopen
from uuid import uuid4
def emit_crew_invocation(event):
try:
key = os.environ.get("TELEMETRY_API_KEY")
if not key:
return
request = Request(
"https://api.telemetry.sh/log",
data=json.dumps({"table": "crew_invocation", "data": event}).encode("utf-8"),
headers={"Authorization": key, "Content-Type": "application/json",
"User-Agent": "telemetry-crew-example/1"},
method="POST",
)
with urlopen(request, timeout=1) as response:
if not 200 <= response.status < 300:
raise RuntimeError("telemetry_delivery_unconfirmed")
except Exception:
try:
print("Telemetry delivery unconfirmed", file=sys.stderr)
except Exception:
pass
def run_research_crew(research_crew, inputs):
# Use an already configured, synchronous, non-streaming Crew.
if getattr(research_crew, "stream", False):
raise ValueError("This wrapper requires stream=False")
run_id = str(uuid4())
started_at = perf_counter()
status, error_type = "interrupted", None
try:
result = research_crew.kickoff(inputs=inputs)
status = "returned"
return result
except Exception as error:
status = "failed"
error_type = "timeout" if isinstance(error, TimeoutError) else "crew_error"
raise
finally:
# Neither metadata creation nor export may replace the crew outcome.
try:
emit_crew_invocation({
"run_id": run_id,
"crew_name": "research_crew",
"status": status,
"error_type": error_type,
"duration_ms": round((perf_counter() - started_at) * 1000),
"release": os.environ.get("APP_RELEASE"),
})
except Exception:
pass
# Pass your application's existing Crew and inputs:
# result = run_research_crew(research_crew, inputs)Esquema del evento
run_id, crew_name y estado de la invocación
duration_ms, error_type limitado y release
Comprueba tu configuración
Punto de control 1
Pasa tu Crew existente y las entradas a run_research_crew. Este envoltorio solo admite kickoff síncrono; los métodos async, streams y checkpoints reanudados necesitan su propio manejo del ciclo de vida.
Punto de control 2
Que kickoff retorne no prueba la aceptación del trabajo ni su entrega posterior. Registra las decisiones de revisión por separado; este ejemplo no mide tareas, delegaciones, reintentos ni coste.
Punto de control 3
Excluye de estos eventos las entradas, salidas, memoria, conocimiento, datos de herramientas y texto de excepciones.
Punto de control 4
La exportación HTTP tiene un timeout de socket de un segundo, no un límite total estricto. Los fallos de exportación y diagnóstico preservan el resultado o excepción original; la entrega síncrona puede añadir latencia. No incluye cola duradera, reintentos ni drenaje al cerrar.
Punto de control 5
Utilice el seguimiento o las devoluciones de llamada propios de CrewAI cuando se requiera un diagnóstico a nivel de paso y correlacione con una ID de ejecución aprobada.
Verificación
Demuestra que el evento llegó
Ejecute esto después de ejercitar casos conocidos de éxito y fracaso. Reemplace el nombre de la tabla alternativa si su contrato de evento final difiere del fragmento.
Consulta de verificación CrewAI workflow telemetry
SELECT *
FROM crew_invocation
ORDER BY timestamp_utc DESC
LIMIT 20;Referencias de implementación
Revise el contrato del evento, la guía de seguridad de los datos y la documentación primaria previa antes de habilitar una nueva ruta de producción.
Dónde registrar eventos
Mantenga el evento de resultado pequeño y recuperable
Este patrón proporciona
- Un resultado limitado y listo para SQL junto al flujo de trabajo ascendente.
- Campos estables para paneles, alertas y correlación entre eventos.
- Una ruta basada en dispositivos para validar el comportamiento de éxito, fracaso, reintento y tiempo de espera.
Este patrón no proporciona
- Un exportador de OTLP, un canal de recopilación automática o un reemplazo para seguimientos detallados y registros de diagnóstico.
- Entrega exactamente una vez simplemente porque la carga útil contiene un ID de evento.
- Permiso para recopilar cargas útiles sin procesar del proveedor, contenido de usuario, credenciales o datos regulados.
Ejemplos de esquemas de eventos
Esquemas de eventos para este flujo de trabajo
Revise el detalle de la fila, el límite de emisión, los tipos requeridos, las clases de privacidad, la carga útil de ejemplo y la lista de verificación de validación antes de adaptar una consulta o fragmento a producción.
Función relacionada del producto
Continúe este flujo de trabajo en Monitoreo de agentes de IA
Conecte las ejecuciones de agentes, el uso de herramientas, el costo del modelo, la calidad y los resultados del producto con SQL revisable.
Recetas SQL relacionadas
Más ejemplos de SQL
Ejecute la consulta en los campos estructurados de este flujo de trabajo, inspeccione el resultado del ejemplo y convierta una respuesta útil en un panel o alerta.
Mida el éxito de las tareas de los agentes de IA y la transferencia humana
¿Qué flujos de trabajo de agentes finalizan exitosamente y producen resultados aceptados?
Receta abiertaConsultar eventos de llamadas de herramientas de IA anidadas
¿Qué herramientas y argumentos de IA están asociados con la mayor cantidad de llamadas fallidas?
Receta abiertaDetectar bucles repetidos de herramientas de agentes de IA
¿Qué ejecuciones de agentes aparecen atrapadas en un bucle de herramientas repetitivo?
Receta abiertaReconstruir una línea de tiempo de flujo de trabajo correlacionado
¿Qué sucedió, en orden, durante el último flujo de trabajo fallido?
Receta abiertaMedir las producciones de IA aceptadas por dólar
¿Qué combinación de modelo y características produce los resultados por dólar más aceptados?
Receta abiertaExplorar por familia de implementación
Comparar patrones de integración relacionados
Plantillas para combinar con esta integración
Plantilla de observabilidad del agente de IA
Realice un seguimiento de las ejecuciones de agentes, llamadas de herramientas, reintentos, latencia de modelos, errores y resultados aceptados con eventos estructurados listos para SQL.
Abrir plantillaPlantilla de auditoría de seguridad del agente de IA
Instrumente decisiones de autorización de herramientas, versiones de políticas, aprobaciones humanas y resultados de terminales con eventos estructurados seguros para la privacidad.
Abrir plantillaRastreador de costos de LLM
Mida el gasto del modelo, el uso de tokens, la latencia, la tasa de fallas y las señales de valor por función, usuario y cuenta.
Abrir plantillaMás integraciones
Claude Agente SDK Telemetry
Realice un seguimiento de los resultados de ejecución del SDK de Claude Agent, la duración, la actividad de las herramientas, los turnos, el costo y las señales de productos aprobados sin almacenar indicaciones ni cargas útiles de las herramientas.
abrir guiaOpenAI Agente Telemetry
Registre las ejecuciones del agente OpenAI, las llamadas a herramientas, el uso del modelo, la latencia, el costo y los resultados finales con eventos estructurados.
abrir guiaResultado del agente LangChain Telemetry
Conecte las ejecuciones de agentes de LangChain y los resultados de las herramientas con las métricas de costo, confiabilidad, transferencia y aceptación del producto sin duplicar rastros sin procesar.
abrir guia