OpenLLMetry is a free, open source machine learning infrastructure project written in Python and released under Apache-2.0. It has 7,438 GitHub stars, 1,083 forks and 676 open issues, and was last pushed 6 hours ago. On this registry it ranks #23 of 57 tracked projects in Machine Learning Infrastructure, with 5 head-to-head comparisons available. It gained 13 stars over the last 6 tracked days.

What is OpenLLMetry?

OpenLLMetry is an Apache-2.0 set of OpenTelemetry-based extensions, built and maintained by Traceloop, that gives complete observability over Python GenAI and LLM applications, and it is aimed at teams already running LLM workloads that need tracing, metrics, and model monitoring without adopting a proprietary agent.

What it is

OpenLLMetry is a set of extensions built on top of OpenTelemetry, and it provides complete observability over an LLM application. The repository contains standard OpenTelemetry instrumentations for LLM providers and Vector DBs, as well as a Traceloop SDK that makes it easy to get started while still outputting standard OpenTelemetry data that can be connected to an existing observability stack. The project is built and maintained by Traceloop under the Apache 2.0 license, is written in Python, and lives in the AI & Machine Learning / Machine Learning Infrastructure category. A separate JS/TS implementation, OpenLLMetry-JS, exists for JavaScript and TypeScript applications.

The concrete problem it solves is that LLM calls, vector database lookups, and model interactions are opaque to conventional application tracing, so teams end up with hand-rolled logging around provider clients instead of a uniform signal. OpenLLMetry supplies the instrumentation layer for those calls and emits it as OpenTelemetry data, which means traces and metrics land in observability tooling that a team already operates. Because it uses OpenTelemetry under the hood, it can be connected to existing observability solutions such as Datadog and Honeycomb rather than forcing a new backend.

Key capabilities

  • Standard OpenTelemetry instrumentations for LLM providers and Vector DBs, so model and retrieval calls are traced without custom spans.
  • The traceloop-sdk package with Traceloop.init(), which instruments an application in a single call.
  • Traceloop.init(disable_batch=True) for local runs, so traces appear immediately instead of waiting on batch sending.
  • Standard OpenTelemetry output that can be pointed at many destinations, including OpenTelemetry Collector, Datadog, Honeycomb, Grafana, Dynatrace, New Relic, Splunk, SigNoz, Sentry, Axiom, Azure Application Insights, Google Cloud, Oracle Cloud, Tencent Cloud, IBM Instana, KloudMate, Laminar, Braintrust, Dash0, Highlight, HyperDX, Scorecard, Service Now Cloud Observability, and Traceloop itself.
  • Direct use of individual instrumentations for applications that already have OpenTelemetry configured, without adopting the full SDK.
  • Semantic conventions for LLM observability that are now part of OpenTelemetry, produced through the upstream community process.
  • A parallel JS/TS implementation, OpenLLMetry-JS, for non-Python services.

Who uses it and how

  • Python teams instrumenting an LLM application who want traces of provider calls and vector database queries flowing into an existing observability stack.
  • Organizations already running OpenTelemetry that add OpenLLMetry instrumentations directly instead of a second SDK.
  • Teams whose traces must land in an incumbent vendor such as Datadog, Honeycomb, New Relic, Dynatrace, Grafana, or Splunk, using the supported destination for each.
  • Developers working locally who set disable_batch=True to see traces as they are produced.
  • Contributors: the topics include good-first-issue, good-first-issues, and help-wanted, and the repository carries 7,437 stars and 1,083 forks.

Getting started

Install the SDK with pip install traceloop-sdk, then add from traceloop.sdk import Traceloop and Traceloop.init() to the application. Full setup guidance lives in the docs at traceloop.com/docs/openllmetry/getting-started-python.

How it compares

OpenLLMetry sits on the OpenTelemetry standard rather than replacing the backend, so it competes with the instrumentation layer of proprietary LLM monitoring agents while leaving the storage and query layer to the vendor a team already uses. Its semantic conventions have been contributed upstream to OpenTelemetry, which keeps the trace schema portable across destinations, and the sibling OpenLLMetry-JS project extends the same approach to JavaScript and TypeScript services.

When to use it — and when not to

A self-hoster must operate an OpenTelemetry pipeline and whichever destination backend is chosen, since OpenLLMetry produces telemetry rather than storing or displaying it. Teams that want a single hosted product with no collector, exporter configuration, or backend to run should not pick it. The repository currently shows 676 open issues, last push on 2026-09-16, and the readme excerpt is truncated with substantive setup detail deferred to an external documentation site, so assess triage load and documentation depth before committing.

project readme (upstream, from github) — read inline

Open-source observability for your LLM application

Get started »

Slack | Docs | Website

OpenLLMetry is released under the Apache-2.0 License git commit activity PRs welcome! Slack community channel Traceloop Twitter

🎉 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

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.

Vector DBs

Frameworks

Protocol

🔎 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 anony

readme truncated — read the full docs on github

Frequently asked questions

Is OpenLLMetry free to use?

OpenLLMetry is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does OpenLLMetry do?

Monitor LLM performance with open-source observability

What is OpenLLMetry written in?

OpenLLMetry is primarily written in Python. Its source is publicly available at https://github.com/traceloop/openllmetry, and it has 7,438 GitHub stars.