Skip to content

Commit 6462152

Browse files
committed
Testing GCP cloud trace exporter
1 parent 379b77f commit 6462152

File tree

2 files changed

+27
-27
lines changed

2 files changed

+27
-27
lines changed

back/boxtribute_server/app.py

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -102,35 +102,34 @@ 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
106-
107105
# No permission for trace.googleapis.com
108-
# from opentelemetry import trace
106+
from opentelemetry import trace
107+
from opentelemetry.exporter.cloud_trace import CloudTraceSpanExporter
108+
from opentelemetry.propagate import set_global_textmap
109+
from opentelemetry.propagators.cloud_trace_propagator import (
110+
CloudTraceFormatPropagator,
111+
)
112+
from opentelemetry.sdk.resources import SERVICE_INSTANCE_ID, Resource
113+
109114
# 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
117-
118-
resource = Resource.create(attributes={
119-
# Use the PID as the service.instance.id to avoid duplicate timeseries
120-
# from different Gunicorn worker processes.
121-
SERVICE_INSTANCE_ID: f"worker-{os.getpid()}",
122-
})
123-
124-
# tracer_provider = TracerProvider(resource=resource)
125-
# processor = BatchSpanProcessor(OTLPSpanExporter())
126-
# tracer_provider.add_span_processor(processor)
127-
# trace.set_tracer_provider(tracer_provider)
128-
129-
reader = PeriodicExportingMetricReader(
130-
OTLPMetricExporter()
115+
from opentelemetry.sdk.trace import TracerProvider
116+
from opentelemetry.sdk.trace.export import BatchSpanProcessor
117+
118+
resource = Resource.create(
119+
attributes={
120+
# Use the PID as the service.instance.id to avoid duplicate timeseries
121+
# from different Gunicorn worker processes.
122+
SERVICE_INSTANCE_ID: f"worker-{os.getpid()}",
123+
}
131124
)
132-
meter_provider = MeterProvider(metric_readers=[reader], resource=resource)
133-
metrics.set_meter_provider(meter_provider)
125+
126+
provider = TracerProvider(resource=resource)
127+
processor = BatchSpanProcessor(CloudTraceSpanExporter())
128+
provider.add_span_processor(processor)
129+
130+
trace.set_tracer_provider(provider)
131+
set_global_textmap(CloudTraceFormatPropagator())
134132

135133
from opentelemetry.instrumentation.flask import FlaskInstrumentor
134+
136135
FlaskInstrumentor().instrument_app(app)

back/requirements-deploy.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
google-cloud-logging==3.11.3
22
opentelemetry-sdk==1.27.0
3-
opentelemetry-exporter-otlp-proto-http==1.27.0
43
opentelemetry-instrumentation-flask==0.48b0
4+
opentelemetry-exporter-gcp-trace==1.7.0
5+
opentelemetry-propagator-gcp==1.7.0

0 commit comments

Comments
 (0)