Opentelemetry OTLP Exporter

This library allows to export tracing data to an OTLP collector.

Usage

The OTLP Span Exporter allows to export OpenTelemetry traces to the OTLP collector.

OTEL_EXPORTER_OTLP_COMPRESSION

The OTEL_EXPORTER_OTLP_COMPRESSION environment variable allows a compression algorithm to be passed to the OTLP exporter. The compression algorithms that are supported include gzip and no compression. The value should be in the format of a string “gzip” for gzip compression, and no value specified if no compression is the desired choice. Additional details are available in the specification.

from opentelemetry import trace
from opentelemetry.exporter.otlp.trace_exporter import OTLPSpanExporter
from opentelemetry.sdk.resources import Resource
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchExportSpanProcessor

# Resource can be required for some backends, e.g. Jaeger
# If resource wouldn't be set - traces wouldn't appears in Jaeger
resource = Resource(attributes={
    "service.name": "service"
})

trace.set_tracer_provider(TracerProvider(resource=resource)))
tracer = trace.get_tracer(__name__)

otlp_exporter = OTLPSpanExporter(endpoint="localhost:55680", insecure=True)

span_processor = BatchExportSpanProcessor(otlp_exporter)

trace.get_tracer_provider().add_span_processor(span_processor)

with tracer.start_as_current_span("foo"):
    print("Hello world!")

API