Skip to main content
AutoGen AgentChat agents are instrumented by the OpenInference AutoGen AgentChat instrumentor, which captures agent runs, model calls, and tool calls as OTLP spans. Point the exporter at AgentMark and the traces arrive normalized. AutoGen is a Python framework.

Setup

1

Install the instrumentor and the OTLP exporter

pip install openinference-instrumentation-autogen-agentchat \
  opentelemetry-sdk opentelemetry-exporter-otlp-proto-http
2

Point the exporter at AgentMark and instrument AutoGen

Use your AgentMark API key and app id from project settings.
from openinference.instrumentation.autogen_agentchat import AutogenAgentChatInstrumentor
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter

provider = TracerProvider()
provider.add_span_processor(
    BatchSpanProcessor(
        OTLPSpanExporter(
            endpoint="https://api.agentmark.co/v1/traces",
            headers={
                "Authorization": "<YOUR_API_KEY>",  # raw key, no "Bearer" prefix
                "X-Agentmark-App-Id": "<YOUR_APP_ID>",
            },
        )
    )
)

AutogenAgentChatInstrumentor().instrument(tracer_provider=provider)
3

Run your agent

Run your AutoGen agents as usual. Each agent run, model call, and tool call arrives in AgentMark as a span, grouped into a trace. See Traces and logs.

What AgentMark captures

AutoGen spans use the OpenInference attribute conventions — model, token usage, input and output messages, tool calls, settings, and span kind are all mapped onto AgentMark’s normalized trace fields, and token counts feed cost tracking. See OpenInference for the full attribute mapping.
Agent and tool spans are captured for any model client. The model-call span — carrying model name and token counts — is captured for AutoGen’s OpenAI-compatible clients (OpenAIChatCompletionClient, AzureOpenAIChatCompletionClient).

Next steps

OpenInference

How AgentMark reads OpenInference attributes

Traces and logs

Explore traces once they arrive

Have questions?

Reach out any time: