@@ -102,35 +102,29 @@ def setup_opentelemetry(app):
102102 # https://cloud.google.com/stackdriver/docs/instrumentation/choose-approach#app_engine
103103 # https://cloud.google.com/trace/docs/setup/python-ot
104104 # https://github.com/GoogleCloudPlatform/opentelemetry-operations-python/blob/1f1775886d7314b113acd322633afb278f875687/samples/instrumentation-quickstart/setup_opentelemetry.py
105- from opentelemetry .sdk .resources import SERVICE_INSTANCE_ID , SERVICE_NAME , Resource
105+ from opentelemetry .sdk .resources import SERVICE_INSTANCE_ID , Resource
106106
107107 # No permission for trace.googleapis.com
108- # from opentelemetry import trace
108+ from opentelemetry import trace
109109 # from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
110- # from opentelemetry.sdk.trace import TracerProvider
111- # from opentelemetry.sdk.trace.export import BatchSpanProcessor
112-
113- from opentelemetry import metrics
114- from opentelemetry .exporter .otlp .proto .http .metric_exporter import OTLPMetricExporter
115- from opentelemetry .sdk .metrics import MeterProvider
116- from opentelemetry .sdk .metrics .export import PeriodicExportingMetricReader
110+ from opentelemetry .sdk .trace import TracerProvider
111+ from opentelemetry .sdk .trace .export import BatchSpanProcessor
112+ from opentelemetry .propagate import set_global_textmap
113+ from opentelemetry .propagators .cloud_trace_propagator import CloudTraceFormatPropagator
114+ from opentelemetry .exporter .cloud_trace import CloudTraceSpanExporter
117115
118116 resource = Resource .create (attributes = {
119117 # Use the PID as the service.instance.id to avoid duplicate timeseries
120118 # from different Gunicorn worker processes.
121119 SERVICE_INSTANCE_ID : f"worker-{ os .getpid ()} " ,
122120 })
123121
124- # tracer_provider = TracerProvider(resource=resource)
125- # processor = BatchSpanProcessor(OTLPSpanExporter())
126- # tracer_provider.add_span_processor(processor)
127- # trace.set_tracer_provider(tracer_provider)
122+ provider = TracerProvider (resource = resource )
123+ processor = BatchSpanProcessor (CloudTraceSpanExporter ())
124+ provider .add_span_processor (processor )
128125
129- reader = PeriodicExportingMetricReader (
130- OTLPMetricExporter ()
131- )
132- meter_provider = MeterProvider (metric_readers = [reader ], resource = resource )
133- metrics .set_meter_provider (meter_provider )
126+ trace .set_tracer_provider (provider )
127+ set_global_textmap (CloudTraceFormatPropagator ())
134128
135129 from opentelemetry .instrumentation .flask import FlaskInstrumentor
136130 FlaskInstrumentor ().instrument_app (app )
0 commit comments