Dash0 acquires Polar Signals
OpenTelemetry-native observability for LLM applications with automatic instrumentation for all major AI providers
OpenLLMetry is a lightweight, open-source OpenTelemetry-based observability SDK for LLM applications. Developed by Traceloop, it provides automatic instrumentation for various LLM providers (OpenAI, Anthropic, Cohere, and more), vector databases, and frameworks with minimal configuration.
OpenLLMetry automatically captures key metrics like latency, token usage, costs, and full prompt/response pairs without requiring manual span creation or extensive code changes. It's designed to work seamlessly with the OpenTelemetry ecosystem, making it easy to integrate with existing observability platforms like Dash0.
OpenLLMetry (Traceloop SDK) provides automatic OpenTelemetry instrumentation for LLM applications. It automatically detects and instruments LLM provider SDKs (like Anthropic, OpenAI), vector databases, and AI frameworks without requiring manual span creation.
This guide shows how to set up OpenLLMetry to send traces to Dash0 via the OpenTelemetry Protocol (OTLP).
anthropic, openai, cohere)Install OpenLLMetry (Traceloop SDK) alongside your LLM provider SDK:
pip install traceloop-sdk anthropicOr for other providers:
pip install traceloop-sdk openai # OpenAI
pip install traceloop-sdk cohere # Cohere
pip install traceloop-sdk langchain # LangChainFor production deployments, route traces through an OpenTelemetry Collector:
from traceloop.sdk import Traceloop
Traceloop.init(
app_name="your-app-name",
api_endpoint="http://otel-collector:4318",
disable_batch=False,
)The collector will forward traces to Dash0. For collector setup, see:
For simpler setups, send traces directly to Dash0:
from traceloop.sdk import Traceloop
Traceloop.init(
app_name="your-app-name",
api_endpoint="https://{{endpoint_otlp_http_hostname}}:{{endpoint_otlp_http_port}}",
headers={
"Authorization": "Bearer {{token}}",
"Dash0-Dataset": "{{dataset}}",
},
disable_batch=False,
)Once initialized, OpenLLMetry automatically instruments all supported LLM calls:
from anthropic import Anthropic
# No additional instrumentation needed!
client = Anthropic(api_key="your-api-key")
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
messages=[
{"role": "user", "content": "What is OpenTelemetry?"}
]
)Control what data is captured in traces:
Traceloop.init(
app_name="your-app-name",
disable_batch=False,
# Privacy options
should_enrich_metrics=True, # Include token usage metrics
trace_content=True, # Capture prompts/responses (default: True)
# Set to False to exclude prompt/response content from traces
)After running your application with OpenLLMetry:
service.name matching your app_namegen_ai.* attributesFor the latest list of supported integrations, see the OpenLLMetry documentation.