OpenTelemetry Prometheus Exporter

Export OpenTelemetry metrics in Prometheus format so Prometheus can scrape your Python application.

Library
PyPI
v0.66b1
2,687 stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
94 /100 Excellent
Development Activity 100
Maintenance 96
Community 80
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
78 /100 Good
Architecture 84
Code Quality 82
Innovation 70
Learning Curve 76

opentelemetry-exporter-prometheus is the official OpenTelemetry Python exporter that bridges the OpenTelemetry metrics SDK to Prometheus. It converts OTel metric instruments (counters, up-down counters, gauges, and histograms) into Prometheus-format samples and exposes them for scraping via the standard prometheus_client library.

It plugs into the OpenTelemetry metrics pipeline as a MetricReader, so instrumentation written against the vendor-neutral OpenTelemetry API can be surfaced to a Prometheus server without changing application code. This lets teams standardize on OpenTelemetry instrumentation while keeping Prometheus as their metrics backend.

What You Get

  • A PrometheusMetricReader that collects OpenTelemetry metrics for Prometheus scraping
  • Mapping of OTel counters, up-down counters, gauges, and histograms to Prometheus metric types
  • Integration with the prometheus_client library’s HTTP exposition
  • An opentelemetry_metrics_exporter entry point for auto-configuration
  • Correct handling of OTel attributes as Prometheus labels

Common Use Cases

  • Exposing OpenTelemetry-instrumented application metrics to an existing Prometheus deployment
  • Standardizing on vendor-neutral OTel instrumentation while keeping Prometheus as the metrics backend
  • Scraping counters, gauges, and histograms from a Python service via a /metrics endpoint

Under The Hood

Architecture - The package lives in the opentelemetry-python monorepo at exporter/opentelemetry-exporter-prometheus and is deliberately small. src/opentelemetry/exporter/prometheus/__init__.py defines the PrometheusMetricReader (and an internal _AutoPrometheusMetricReader used by the auto-configuration entry point), which subclasses the OTel SDK MetricReader and, on collection, translates the SDK’s in-memory metric data into a Prometheus registry. _mapping.py holds the logic that maps OTel instrument types and attribute sets onto Prometheus metric names, types, and labels, delegating exposition to the prometheus_client Collector interface.

Tech Stack - Pure Python (3.10+), built with hatchling. It depends on opentelemetry-api and opentelemetry-sdk for the metrics pipeline and on prometheus_client (>=0.5.0) for Prometheus-format serialization and HTTP exposition.

Code Quality - The exporter ships a focused test suite — test_prometheus_exporter, test_mapping, and test_entrypoints — verifying instrument translation, label mapping, and auto-configuration wiring. As part of the CNCF OpenTelemetry project it follows that repo’s rigorous CI, linting, and review standards; it is marked Beta, with a documented limitation around multiprocessing environments.

API Design - Usage is idiomatic OpenTelemetry: construct a PrometheusMetricReader, pass it to a MeterProvider, and start the prometheus_client HTTP server — no exporter-specific glue is needed. The opentelemetry_metrics_exporter entry point enables fully zero-code setup under OTel auto-instrumentation. Familiarity with the OpenTelemetry metrics model is the main prerequisite, which sets a moderate learning curve.

Used by 94 apps in this directory

Python
55%
Other

PostHog

Ab Testing Experimentation · Analytics · Developer Tools

40,397

The all-in-one open source product platform combining analytics, session replay, feature flags, error tracking, AI observability, and a built-in data warehouse in a single self-hostable stack.

View details
92
Repo Health
80
Technical
65
Dependency
Built with
Python 55%
TypeScript 36%
Updated 6 days ago
Python
87%
Apache 2.0

PrivateGPT

AI Development

57,611

The open-source API layer that turns local LLMs into production private AI applications with full Claude API compatibility

View details
88
Repo Health
83
Technical
70
Dependency
Built with
Python 87%
Updated 1 weeks ago
Python
87%
Apache 2.0

PrivateGPT

AI Development

57,611

The open-source API layer that turns local LLMs into production private AI applications with full Claude API compatibility

View details
88
Repo Health
83
Technical
70
Dependency
Built with
Python 87%
Updated 1 weeks ago
TypeScript
98%
MIT

Promptfoo

AI Development

26,358

An open-source CLI and library for evaluating and red-teaming LLM applications — replace trial-and-error prompt engineering with systematic evals, vulnerability scanning, and CI/CD integration.

View details
90
Repo Health
73
Technical
67
Dependency
Built with
TypeScript 98%
Updated 6 days ago
TypeScript
98%
MIT

Promptfoo

AI Development

26,358

An open-source CLI and library for evaluating and red-teaming LLM applications — replace trial-and-error prompt engineering with systematic evals, vulnerability scanning, and CI/CD integration.

View details
90
Repo Health
73
Technical
67
Dependency
Built with
TypeScript 98%
Updated 6 days ago
TypeScript
98%
MIT

Promptfoo

AI Development

26,358

An open-source CLI and library for evaluating and red-teaming LLM applications — replace trial-and-error prompt engineering with systematic evals, vulnerability scanning, and CI/CD integration.

View details
90
Repo Health
73
Technical
67
Dependency
Built with
TypeScript 98%
Updated 6 days ago
JavaScript
50%
AGPL 3.0

QRev

AI Agents · CRM

364

Open source AI-first sales platform that replaces Salesforce with autonomous agents handling prospecting, outreach, and lead management at scale.

View details
39
Repo Health
68
Technical
64
Dependency
Built with
JavaScript 50%
Python 28%
TypeScript 14%
Updated 8 months ago
Python
79%
AGPL 3.0

Skyvern

AI Agents · Automation

23,257

Skyvern (YC S2023) automates browser-based workflows by pairing LLMs with computer vision, letting agents click, fill, and extract data on sites they've never seen, without brittle XPath selectors that break on every layout change.

View details
89
Repo Health
82
Technical
70
Dependency
Built with
Python 79%
TypeScript 19%
Updated 6 days ago
Python
71%
Apache 2.0

SurfSense

AI Assistants · Search

16,586

The open-source, unlimited NotebookLM alternative with real-time collaboration, a desktop app, and no vendor lock-in.

View details
88
Repo Health
71
Technical
66
Dependency
Built with
Python 71%
TypeScript 27%
Updated 6 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers