Skip to content

Latest commit

 

History

History
54 lines (39 loc) · 1.56 KB

prometheus.rst

File metadata and controls

54 lines (39 loc) · 1.56 KB

OpenTelemetry Prometheus Exporter

.. automodule:: opentelemetry.exporter.prometheus
    :members:
    :undoc-members:
    :show-inheritance:

Installation

The OpenTelemetry Prometheus Exporter package is available on PyPI:

pip install opentelemetry-exporter-prometheus

Usage

The Prometheus exporter starts an HTTP server that collects metrics and serializes them to Prometheus text format on request:

from prometheus_client import start_http_server

from opentelemetry import metrics
from opentelemetry.exporter.prometheus import PrometheusMetricReader
from opentelemetry.sdk.metrics import MeterProvider
from opentelemetry.sdk.resources import SERVICE_NAME, Resource

# Service name is required for most backends
resource = Resource(attributes={
    SERVICE_NAME: "your-service-name"
})

# Start Prometheus client
start_http_server(port=9464, addr="localhost")
# Initialize PrometheusMetricReader which pulls metrics from the SDK
# on-demand to respond to scrape requests
reader = PrometheusMetricReader()
provider = MeterProvider(resource=resource, metric_readers=[reader])
metrics.set_meter_provider(provider)

Configuration

The following environment variables are supported:

  • OTEL_EXPORTER_PROMETHEUS_HOST (default: "localhost"): The host to bind to
  • OTEL_EXPORTER_PROMETHEUS_PORT (default: 9464): The port to bind to

References