Skip to main content
OpenLLMetry is a set of OpenTelemetry instrumentors maintained by Traceloop. OpenLIT is a compatible instrumentation library that follows the same conventions. Both emit OTLP spans for model calls, workflows, and agent steps, and AgentMark reads their attribute conventions directly. Point the exporter at AgentMark and traces arrive with no per-framework setup on the AgentMark side.

Supported frameworks

OpenLLMetry and OpenLIT instrument providers, frameworks, and agent libraries, including:
CategoryInstrumented
ProvidersOpenAI, Anthropic, Cohere, Amazon Bedrock, Google, Mistral, Ollama
OrchestrationLangChain, LlamaIndex, Haystack
AgentsCrewAI, AutoGen, Semantic Kernel, Agno
See the OpenLLMetry and OpenLIT repositories for the complete, current list.

Setup

The Traceloop SDK bundles the OpenLLMetry instrumentors for both Node.js and Python.
1

Install the SDK

npm install @traceloop/node-server-sdk
2

Point it at AgentMark

Initialize the SDK with AgentMark’s endpoint and your authentication headers (API key and app id, from project settings). Call this once, before your app makes model calls.
import * as traceloop from "@traceloop/node-server-sdk";

traceloop.initialize({
  appName: "my-app",
  apiEndpoint: "https://api.agentmark.co",
  headers: {
    Authorization: process.env.AGENTMARK_API_KEY!, // raw key, no "Bearer" prefix
    "X-Agentmark-App-Id": process.env.AGENTMARK_APP_ID!,
  },
});
Pass only the base URL as the endpoint (apiEndpoint / api_endpoint) — Traceloop appends the /v1/traces path itself. OpenLLMetry exports OTLP, so you can also configure the endpoint and headers with the standard OTEL_EXPORTER_OTLP_TRACES_ENDPOINT and OTEL_EXPORTER_OTLP_TRACES_HEADERS environment variables — see OpenTelemetry.
3

Run your app

Run your application. Model calls, workflows, and agent steps arrive in AgentMark as spans grouped into a trace. See Traces and logs.

What AgentMark captures

AgentMark maps OpenLLMetry and OpenLIT attributes onto its normalized trace fields:
OpenLLMetry attributeAgentMark field
gen_ai.request.model / gen_ai.response.modelModel
gen_ai.usage.prompt_tokens / .completion_tokensInput / output tokens
gen_ai.prompt.* / gen_ai.completion.*Input / output messages
gen_ai.completion.*.tool_calls.*Tool calls
traceloop.entity.input / .outputInput / output on workflow and task spans
gen_ai.request.temperature / max_tokens / top_pSettings
gen_ai.response.finish_reasonFinish reason
traceloop.span.kindSpan kind (llm, tool, agent, …)
traceloop.association.properties.*Session, user, and custom metadata
Token counts and the model feed AgentMark’s cost tracking automatically.

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: