Supported frameworks
OpenInference maintains instrumentors for a wide range of libraries, including:| Category | Instrumentors |
|---|---|
| Orchestration | LangChain, LangGraph, LlamaIndex, Haystack, DSPy |
| Agents | OpenAI Agents SDK, CrewAI, AutoGen, smolagents, Google ADK, Agno |
| Providers | OpenAI, Anthropic, Amazon Bedrock, Vertex AI, Gemini, Mistral, Groq, LiteLLM |
| Other | Instructor, Guardrails, Model Context Protocol (MCP) |
Setup
OpenInference ships instrumentors for both Python and JavaScript/TypeScript. The example below instruments OpenAI; swap the instrumentor package and class for the framework you use — the OTLP wiring stays identical.Point the exporter at AgentMark
Register a tracer provider that exports to AgentMark, then instrument your framework. Use your AgentMark API key and app id (from project settings).Swap
OpenAIInstrumentation / OpenAIInstrumentor for the instrumentor that matches your framework (for example @arizeai/openinference-instrumentation-langchain or openinference-instrumentation-langchain).In TypeScript, this setup must run before the instrumented libraries are imported, so the instrumentor can patch them. Put it in its own module and load it first, for example
node -r ./instrumentation.js app.js.Run your app
Run your application as usual. Each model call, tool call, and retrieval step arrives in AgentMark as a span, grouped into a trace. See Traces and logs.
What AgentMark captures
AgentMark maps OpenInference attributes onto its normalized trace fields:| OpenInference attribute | AgentMark field |
|---|---|
llm.model_name | Model |
llm.token_count.prompt / .completion / .total | Input / output / total tokens |
llm.token_count.completion_details.reasoning | Reasoning tokens |
llm.input_messages.* / llm.output_messages.* | Input / output messages |
input.value / output.value | Input / output on chain, tool, and agent spans |
llm.output_messages.*.tool_calls.* | Tool calls |
llm.invocation_parameters | Settings (temperature, max tokens, top-p, penalties) |
retrieval.documents.*.document.content | Output on retrieval spans |
openinference.span.kind | Span kind (llm, tool, agent, retrieval, …) |
session.id / user.id / metadata | Session, user, and custom metadata |
Next steps
OpenTelemetry endpoint
The endpoint, authentication, and environment-variable configuration
Traces and logs
Explore traces once they arrive
Have questions?
Reach out any time:
- Email us at hello@agentmark.co for support
- Schedule an Enterprise Demo to learn about our business solutions