OpenTelemetry Prometheus Exporter
Export OpenTelemetry metrics in Prometheus format so Prometheus can scrape your Python application.
Repository Health
Technical Analysis
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
PrometheusMetricReaderthat 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
Keep
Automation · Devops · Monitoring
The open-source AIOps and alert management platform that unifies 130+ monitoring tools into a single pane of glass with AI-powered correlation, deduplication, and workflow automation.
Keep
Automation · Devops · Monitoring
The open-source AIOps and alert management platform that unifies 130+ monitoring tools into a single pane of glass with AI-powered correlation, deduplication, and workflow automation.
knowhere
AI Development · AI Memory · Developer Tools
Transform messy, unstructured documents into persistent, navigable memory that AI agents can actually use.
knowhere
AI Development · AI Memory · Developer Tools
Transform messy, unstructured documents into persistent, navigable memory that AI agents can actually use.
knowhere
AI Development · AI Memory · Developer Tools
Transform messy, unstructured documents into persistent, navigable memory that AI agents can actually use.
knowhere
AI Development · AI Memory · Developer Tools
Transform messy, unstructured documents into persistent, navigable memory that AI agents can actually use.
knowhere
AI Development · AI Memory · Developer Tools
Transform messy, unstructured documents into persistent, navigable memory that AI agents can actually use.
LanceDB
AI Development · Databases
Open-source, embedded vector database built on the Lance columnar format for fast multimodal search across billions of vectors, backed by Y Combinator (W23).
Langflow
AI Agents · AI Development
Build, test, and deploy AI agents and RAG workflows visually with native API and MCP server export.