TL;DR

  • Agent Telemetry(alpha)는 에이전트 시스템의 이벤트를 SQLite에 저장하고 실행(run) 또는 에이전트별로 살펴보는 경량 텔레메트리 수집기임.
  • Python 표준 라이브러리만 사용하며, 기본적으로 http://127.0.0.1:8000에서 서비스하고 현재 작업 디렉터리에 telemetry.db를 생성함.
  • 대시보드에서 실행, 에이전트, 오류, 최근 24시간 활동과 최신 1,000개 이벤트의 에이전트별 활동을 확인하고 이벤트 스트림을 필터링함.
  • 이벤트는 단건 또는 최대 100개 배열로 전송할 수 있으며, 필수 필드는 event_type과 run_id임.
  • 인증, 보존 정책, 분산 배포, 메트릭 집계는 포함되지 않으며 기본 수신 주소는 로컬 개발용 루프백임.

서비스 실행

  • python3 server.py로 서비스를 실행함.
  • 기본 수신 주소는 http://127.0.0.1:8000이며, 현재 작업 디렉터리에 telemetry.db를 생성함.
  • TELEMETRY_HOST, TELEMETRY_PORT, TELEMETRY_DB로 기본 설정을 변경함.
  • http://127.0.0.1:8000/에서 대시보드를 확인함. 대시보드에는 실행, 에이전트, 오류, 최근 24시간 활동, 최신 1,000개 이벤트의 에이전트별 활동이 요약됨.
  • 실행, 이벤트 유형, 텍스트를 기준으로 이벤트 스트림을 필터링하며, 대시보드는 10초마다 새로 고침됨.

이벤트 전송

  • POST http://127.0.0.1:8000/v1/events로 이벤트를 전송함. 요청은 이벤트 한 건 또는 최대 100개 이벤트의 JSON 배열을 받음.
  • event_type과 run_id가 필수이며, 생략된 id와 타임스탬프는 서비스가 생성함.
  • 이벤트 이름은 전송 측에서 정하며, 예시는 agent.started, agent.handoff, tool_call.completed, llm.response임.

이벤트 조회

  • http://127.0.0.1:8000/v1/events?run_id=run-123&limit=100에서 이벤트를 조회함.
  • run_id, agent_id, event_type, task_id, status 필터를 조합할 수 있음.
  • 기본 조회 한도는 100개이며 최대 1,000개임. 상태 확인에는 GET /health를 사용함.

이벤트 필드

  • 이벤트에는 id, timestamp, event_type, run_id, agent_id, parent_agent_id, task_id, status, attributes를 포함할 수 있음.
  • 에이전트 핸드오프에는 동일한 run_id를 사용하고, 소스 에이전트 또는 핸드오프 세부 정보를 parent_agent_id와 attributes에 기록함.

알파 버전 범위

  • 이 서비스는 최소 기능의 알파 버전임.
  • 인증, 보존 정책, 분산 배포, 메트릭 집계는 포함되지 않음.
  • 기본적으로 로컬 개발을 위해 루프백 주소에서 수신함.