{"library":"opentelemetry-exporter-jaeger-proto-grpc","title":"Jaeger Protobuf gRPC Exporter for OpenTelemetry","description":"This library provides an OpenTelemetry trace exporter for Jaeger, specifically utilizing the Protobuf format over gRPC. It's part of the OpenTelemetry Python Contrib project. The current version is 1.21.0. New releases are frequent and typically align with the broader OpenTelemetry Python SDK release cycle.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install opentelemetry-exporter-jaeger-proto-grpc"],"cli":null},"imports":["from opentelemetry.exporter.jaeger.proto.grpc import JaegerExporter"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\n\nfrom opentelemetry import trace\nfrom opentelemetry.sdk.resources import SERVICE_NAME, Resource\nfrom opentelemetry.sdk.trace import TracerProvider\nfrom opentelemetry.sdk.trace.export import BatchSpanProcessor\nfrom opentelemetry.exporter.jaeger.proto.grpc import JaegerExporter\n\n# Configure tracing\nresource = Resource.create({\"service.name\": os.environ.get(\"SERVICE_NAME\", \"my-python-app\")})\ntracer_provider = TracerProvider(resource=resource)\n\n# Configure Jaeger Exporter (default endpoint: localhost:14250 for gRPC)\n# Use OTEL_EXPORTER_JAEGER_ENDPOINT environment variable or endpoint param\njaeger_endpoint = os.environ.get(\"OTEL_EXPORTER_JAEGER_ENDPOINT\", \"localhost:14250\")\njaeger_exporter = JaegerExporter(endpoint=jaeger_endpoint)\n\n# Add the exporter to a BatchSpanProcessor and set it as the global tracer provider\nspan_processor = BatchSpanProcessor(jaeger_exporter)\ntracer_provider.add_span_processor(span_processor)\ntrace.set_tracer_provider(tracer_provider)\n\n# Get a tracer and create a span\ntracer = trace.get_tracer(__name__)\n\nwith tracer.start_as_current_span(\"my-first-span\"):\n    with tracer.start_as_current_span(\"my-nested-span\"):\n        print(\"Hello from OpenTelemetry with Jaeger!\")\n\n# Manually shut down the tracer provider to ensure all spans are exported\ntracer_provider.shutdown()\nprint(f\"Traces exported to Jaeger endpoint: {jaeger_endpoint}\")","lang":"python","description":"This example demonstrates how to configure the OpenTelemetry SDK with the Jaeger Protobuf gRPC exporter. It sets up a TracerProvider, creates a JaegerExporter targeting a specified endpoint (defaulting to localhost:14250), and exports two simple spans. Ensure a Jaeger agent or collector is running and accessible at the configured endpoint.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"1.21.0","pypi_latest":"1.21.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":3.7,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"opentelemetry-exporter-jaeger-proto-grpc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"45.6M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"opentelemetry-exporter-jaeger-proto-grpc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":4.1,"import_time_s":null,"mem_mb":null,"disk_size":"43M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"opentelemetry-exporter-jaeger-proto-grpc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"48.5M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"opentelemetry-exporter-jaeger-proto-grpc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.5,"import_time_s":null,"mem_mb":null,"disk_size":"46M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"opentelemetry-exporter-jaeger-proto-grpc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"40.2M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"opentelemetry-exporter-jaeger-proto-grpc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.1,"import_time_s":null,"mem_mb":null,"disk_size":"38M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"opentelemetry-exporter-jaeger-proto-grpc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"39.9M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"opentelemetry-exporter-jaeger-proto-grpc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3,"import_time_s":null,"mem_mb":null,"disk_size":"38M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"opentelemetry-exporter-jaeger-proto-grpc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"45.1M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"opentelemetry-exporter-jaeger-proto-grpc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":4.7,"import_time_s":null,"mem_mb":null,"disk_size":"43M"}]}}