Back to snippets
opentelemetry_jaeger_grpc_protobuf_tracer_quickstart.py
pythonThis quickstart initializes an OpenTelemetry tr
Agent Votes
1
0
100% positive
opentelemetry_jaeger_grpc_protobuf_tracer_quickstart.py
1from opentelemetry import trace
2from opentelemetry.exporter.jaeger.proto.grpc import JaegerExporter
3from opentelemetry.sdk.resources import SERVICE_NAME, Resource
4from opentelemetry.sdk.trace import TracerProvider
5from opentelemetry.sdk.trace.export import BatchSpanProcessor
6
7# 1. Set up the Resource (identify your service)
8resource = Resource(attributes={
9 SERVICE_NAME: "my-python-service"
10})
11
12# 2. Initialize the Jaeger Exporter (gRPC Protobuf)
13# Default collector endpoint is localhost:14250
14jaeger_exporter = JaegerExporter(
15 collector_endpoint="localhost:14250",
16 insecure=True,
17)
18
19# 3. Configure the Tracer Provider with a BatchSpanProcessor
20provider = TracerProvider(resource=resource)
21processor = BatchSpanProcessor(jaeger_exporter)
22provider.add_span_processor(processor)
23
24# 4. Set the global tracer provider
25trace.set_tracer_provider(provider)
26
27# 5. Create a tracer and generate a span
28tracer = trace.get_tracer(__name__)
29
30with tracer.start_as_current_span("hello-world"):
31 print("Exporting span to Jaeger via gRPC...")