
OpenLLMetry
LLMアプリ向けのOpenTelemetry計装。トレースは、既に運用しているバックエンドへ送られる
OpenLLMetryとは
同分類の他の選択肢は専用バックエンドを持つ製品であり、導入すると運用対象が増え、テレメトリの半分が他と切り離された場所に置かれます。こちらは計装の層です。モデル呼び出しとベクトルデータベース呼び出しを標準的なOpenTelemetryのスパンとして出力し、Datadog、Grafana、New Relic、Splunk、Honeycombなど、既存のトレースの送り先へそのまま流します。引き換えに、汎用のバックエンドで見えるのはスパンとレイテンシであって、専用プラットフォームが中心に据えるプロンプトの版管理や評価の画面ではありません。
OpenLLMetryで何ができますか?
- LLMのトレースを他のトレースと同じ場所へ送る — 出力が標準のOpenTelemetryであるため、Datadog、Grafana、New Relic、Splunk、Honeycombを含む25以上の送り先に対応します。Traceloop自身のダッシュボードも選べます。
- 構造を変えずに計装する — 対応フレームワークを使っていても、基盤モデルのAPIを直接呼んでいても、トレースは非侵襲的に取り付きます。導入がリファクタリングから始まりません。
- 遅い区間を正しく特定する — ベクトルデータベースへの呼び出しがモデル呼び出しと並べて記録されます。応答の遅さの原因が検索側かモデル側かを切り分けられます。
- 計装をやり直さずに監視基盤を乗り換える — スパンは設計上ベンダー中立です。バックエンドの変更が、コードベースへの2周目ではなくエクスポーターの設定変更で済みます。
- 自動化が届かない箇所は手で記録する — 自動計装が覆わないコード経路については、モデルやベクトルデータベースへの呼び出しを手動で記録できます。対応一覧に載っている範囲が上限にはなりません。
OpenLLMetryを選ぶ前に
- 汎用の監視バックエンドが描くのはスパンとレイテンシで、プロンプトの版管理、評価スコア、データセットの整備といった、専用プラットフォームが中心に据える画面は得られません。
スター推移
8月21日〜8月28日 · +18
よくある質問
OpenLLMetryは商用利用できますか?
OpenLLMetryはApache-2.0ライセンスで公開されています。OSI承認のオープンソースライセンスで、商用利用が認められています。
OpenLLMetryはどの形で使えますか?
OpenLLMetryはセルフホスト・ローカル実行の形で利用できます。
ドキュメント
traceloop/openllmetry のREADMEより転載(Apache-2.0)。 原文を読む ↗
🎉 New: Our semantic conventions are now part of OpenTelemetry! Join the discussion and help us shape the future of LLM observability.
Looking for the JS/TS version? Check out OpenLLMetry-JS.
OpenLLMetry is a set of extensions built on top of OpenTelemetry that gives you complete observability over your LLM application. Because it uses OpenTelemetry under the hood, it can be connected to your existing observability solutions - Datadog, Honeycomb, and others.
It’s built and maintained by Traceloop under the Apache 2.0 license.
The repo contains standard OpenTelemetry instrumentations for LLM providers and Vector DBs, as well as a Traceloop SDK that makes it easy to get started with OpenLLMetry, while still outputting standard OpenTelemetry data that can be connected to your observability stack. If you already have OpenTelemetry instrumented, you can just add any of our instrumentations directly.
🚀 Getting Started
The easiest way to get started is to use our SDK. For a complete guide, go to our docs.
Install the SDK:
pip install traceloop-sdk
Then, to start instrumenting your code, just add this line to your code:
from traceloop.sdk import Traceloop
Traceloop.init()
That’s it. You’re now tracing your code with OpenLLMetry! If you’re running this locally, you may want to disable batch sending, so you can see the traces immediately:
Traceloop.init(disable_batch=True)
⏫ Supported (and tested) destinations
- ✅ Traceloop
- ✅ Axiom
- ✅ Azure Application Insights
- ✅ Braintrust
- ✅ Dash0
- ✅ Datadog
- ✅ Dynatrace
- ✅ Google Cloud
- ✅ Grafana
- ✅ Highlight
- ✅ Honeycomb
- ✅ HyperDX
- ✅ IBM Instana
- ✅ KloudMate
- ✅ Laminar
- ✅ New Relic
- ✅ OpenTelemetry Collector
- ✅ Oracle Cloud
- ✅ Scorecard
- ✅ Service Now Cloud Observability
- ✅ SigNoz
- ✅ Sentry
- ✅ Splunk
- ✅ Tencent Cloud
See our docs for instructions on connecting to each one.
🪗 What do we instrument?
OpenLLMetry can instrument everything that OpenTelemetry already instruments - so things like your DB, API calls, and more. On top of that, we built a set of custom extensions that instrument things like your calls to OpenAI or Anthropic, or your Vector DB like Chroma, Pinecone, Qdrant or Weaviate.
- ✅ Aleph Alpha
- ✅ Anthropic
- ✅ Bedrock (AWS)
- ✅ Cohere
- ✅ Google Generative AI (Gemini)
- ✅ Groq
- ✅ HuggingFace
- ✅ IBM Watsonx AI
- ✅ Mistral AI
- ✅ Ollama
- ✅ OpenAI / Azure OpenAI
- ✅ Replicate
- ✅ SageMaker (AWS)
- ✅ Together AI
- ✅ Vertex AI (GCP)
- ✅ WRITER
Vector DBs
Frameworks
- ✅ Agno
- ✅ AWS Strands (built-in OTEL support)
- ✅ CrewAI
- ✅ Haystack
- ✅ LangChain
- ✅ Langflow
- ✅ LangGraph
- ✅ LiteLLM
- ✅ LlamaIndex
- ✅ OpenAI Agents
Protocol
- ✅ MCP
🔎 Telemetry
We no longer log or collect any telemetry in the SDK or in the instrumentations. Make sure to bump to v0.49.2 and above.
Why we collect telemetry
- The primary purpose is to detect exceptions within instrumentations. Since LLM providers frequently update their APIs, this helps us quickly identify and fix any breaking changes.
- We only collect anonymous data, with no personally identifiable information. You can view exactly what data we collect in our Privacy documentation.
- Telemetry is only collected in the SDK. If you use the instrumentations directly without the SDK, no telemetry is collected.
🌱 Contributing
Whether big or small, we love contributions ❤️ Check out our guide to see how to get started.
Not sure where to get started? You can:
- Book a free pairing session with one of our teammates!
- Join our Slack, and ask us any questions there.
💚 Community & Support
- Slack (For live discussion with the community and the Traceloop team)
- GitHub Discussions (For help with building and deeper conversations about features)
- GitHub Issues (For any bugs and errors you encounter using OpenLLMetry)
- Twitter (Get news fast)
🙏 Special Thanks
To @patrickdebois, who suggested the great name we’re now using for this repo!