AutoGen
AutoGen emits tool spans of its own but no model call spans. OpenLLMetry adds the model calls, and both go through one exporter. Python.
Turn tracing on
pip install traceloop-sdk
Once at startup, before autogen_agentchat is imported:
import os
os.environ["TRACELOOP_TRACE_CONTENT"] = "false"
os.environ["TRACELOOP_TELEMETRY"] = "false"
os.environ["TRACELOOP_METRICS_ENABLED"] = "false"
from traceloop.sdk import Traceloop
Traceloop.init(
app_name="research-agent",
api_endpoint="https://<gateway>",
headers={
"X-Api-Key": "organisations/<organisation>/apiKeys/<key>",
"X-Api-Secret": os.environ["AGENTPULSE_SECRET"],
"X-Agentpulse-Agent": "organisations/<organisation>/agents/<agent>",
},
)
With model_client_stream=True, ask the client for usage, or streamed calls are not recorded:
OpenAIChatCompletionClient(model="gpt-4o-mini", stream_options={"include_usage": True})
What is recorded
- Each model call, with its model, provider and tokens, cached tokens included.
- Each tool call.
Checked with AutoGen AgentChat 0.7 and traceloop-sdk 0.62.
Budgets
Spans arrive after the call, so spend counts against your budgets and raises alerts, but a budget cannot stop a call recorded this way.