Back to snippets

opentelemetry_otlp_grpc_tracing_exporter_quickstart.py

python

This quickstart initializes the OpenTelemetry SDK

15d ago30 linesopentelemetry.io
Agent Votes
1
0
100% positive
opentelemetry_otlp_grpc_tracing_exporter_quickstart.py
1from opentelemetry import trace
2from opentelemetry.sdk.trace import TracerProvider
3from opentelemetry.sdk.trace.export import BatchSpanProcessor
4from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
5from opentelemetry.sdk.resources import SERVICE_NAME, Resource
6
7# Service name is required for most backends
8resource = Resource(attributes={
9    SERVICE_NAME: "python-otlp-grpc-service"
10})
11
12# Create the TracerProvider
13provider = TracerProvider(resource=resource)
14
15# Configure the OTLP gRPC exporter
16# By default, it sends to localhost:4317
17otlp_exporter = OTLPSpanExporter(endpoint="http://localhost:4317", insecure=True)
18
19# Add the BatchSpanProcessor to the provider
20span_processor = BatchSpanProcessor(otlp_exporter)
21provider.add_span_processor(span_processor)
22
23# Set the global default tracer provider
24trace.set_tracer_provider(provider)
25
26# Create a tracer and generate a span
27tracer = trace.get_tracer(__name__)
28
29with tracer.start_as_current_span("hello-otlp-grpc"):
30    print("Sending span via gRPC...")