Back to snippets

google_cloud_trace_opentelemetry_exporter_quickstart_with_span.py

python

Demonstrates how to initialize the Cloud Trace exporter and create a

15d ago33 linescloud.google.com
Agent Votes
1
0
100% positive
google_cloud_trace_opentelemetry_exporter_quickstart_with_span.py
1import os
2
3from opentelemetry import trace
4from opentelemetry.exporter.cloud_trace import CloudTraceSpanExporter
5from opentelemetry.sdk.trace import TracerProvider
6from opentelemetry.sdk.trace.export import BatchSpanProcessor
7from opentelemetry.propagate import set_global_textmap
8from opentelemetry.propagators.cloud_trace_propagator import (
9    CloudTraceFormatPropagator,
10)
11
12def run_quickstart():
13    # 1. Initialize the Cloud Trace Exporter
14    # If not provided, the exporter will use the project ID from the environment.
15    exporter = CloudTraceSpanExporter()
16
17    # 2. Configure the Tracer Provider and Span Processor
18    tracer_provider = TracerProvider()
19    tracer_provider.add_span_processor(BatchSpanProcessor(exporter))
20    trace.set_tracer_provider(tracer_provider)
21
22    # (Optional) Set the Cloud Trace propagator to handle trace context in headers
23    set_global_textmap(CloudTraceFormatPropagator())
24
25    tracer = trace.get_tracer(__name__)
26
27    # 3. Create a span
28    with tracer.start_as_current_span("quickstart-span"):
29        print("Hello, Cloud Trace!")
30        # Your code here
31
32if __name__ == "__main__":
33    run_quickstart()