Skip to content

Conversation

@tbarbugli
Copy link
Member

@tbarbugli tbarbugli commented Sep 27, 2025

Simple example with Jaeger

Install telemetry and otlp exporter deps

pip install getstream[telemetry]
pip install opentelemetry-exporter-otlp
from opentelemetry import trace
from opentelemetry.sdk.resources import Resource
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter

resource = Resource.create(
    {
        "service.name": "my-service-name",
    }
)
tp = TracerProvider(resource=resource)
exporter = OTLPSpanExporter(endpoint="localhost:4317", insecure=True)

tp.add_span_processor(BatchSpanProcessor(exporter))
trace.set_tracer_provider(tp)

Example on how to expose metrics to Prometheus

Install telemetry and prometheus deps

pip install getstream[telemetry]
pip install opentelemetry-exporter-prometheus prometheus-client

This snippet hooks prometheus to opentelemetry metrics and spawns an HTTP server on :9464 for Prometheus to scrape

from opentelemetry import metrics
from opentelemetry.sdk.resources import Resource
from opentelemetry.sdk.metrics import MeterProvider
from opentelemetry.exporter.prometheus import PrometheusMetricReader
from prometheus_client import start_http_server

resource = Resource.create(
    {
        "service.name": "my-service-name",
    }
)

reader = PrometheusMetricReader()
metrics.set_meter_provider(
    MeterProvider(resource=resource, metric_readers=[reader])
)

start_http_server(port=9464)

@tbarbugli tbarbugli merged commit a8876bf into main Sep 27, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants