|
15 | 15 |
|
16 | 16 | import time |
17 | 17 |
|
| 18 | +# [START opentelemetry_otlp_grpc_auth_imports] |
18 | 19 | import google.auth |
19 | 20 | import google.auth.transport.grpc |
20 | 21 | import google.auth.transport.requests |
21 | 22 | import grpc |
22 | 23 | from google.auth.transport.grpc import AuthMetadataPlugin |
| 24 | +# [END opentelemetry_otlp_grpc_auth_imports] |
| 25 | +# [START opentelemetry_otlp_grpc_imports] |
23 | 26 | from opentelemetry import trace |
24 | 27 | from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import ( |
25 | 28 | OTLPSpanExporter, |
26 | 29 | ) |
| 30 | +# [END opentelemetry_otlp_grpc_imports] |
27 | 31 | from opentelemetry.sdk.resources import SERVICE_NAME, Resource |
28 | 32 | from opentelemetry.sdk.trace import TracerProvider |
29 | 33 | from opentelemetry.sdk.trace.export import BatchSpanProcessor |
|
32 | 36 | This is a sample script that exports OTLP traces encoded as protobufs via gRPC. |
33 | 37 | """ |
34 | 38 |
|
| 39 | +# [START opentelemetry_otlp_grpc_auth_setup] |
35 | 40 | credentials, _ = google.auth.default() |
36 | 41 | request = google.auth.transport.requests.Request() |
37 | 42 | resource = Resource.create(attributes={SERVICE_NAME: "otlp-gcp-grpc-sample"}) |
|
41 | 46 | grpc.ssl_channel_credentials(), |
42 | 47 | grpc.metadata_call_credentials(auth_metadata_plugin), |
43 | 48 | ) |
| 49 | +# [END opentelemetry_otlp_grpc_auth_setup] |
44 | 50 |
|
| 51 | +# [START opentelemetry_otlp_grpc_init] |
| 52 | +# Initialize OpenTelemetry with OTLP exporters |
| 53 | +# channel_creds: configure Application Default Credentials |
45 | 54 | trace_provider = TracerProvider(resource=resource) |
46 | 55 | processor = BatchSpanProcessor( |
47 | 56 | OTLPSpanExporter( |
|
52 | 61 | trace_provider.add_span_processor(processor) |
53 | 62 | trace.set_tracer_provider(trace_provider) |
54 | 63 | tracer = trace.get_tracer("my.tracer.name") |
| 64 | +# [END opentelemetry_otlp_grpc_init] |
55 | 65 |
|
56 | 66 |
|
57 | 67 | def do_work(): |
|
0 commit comments