Back to snippets

opentelemetry_azure_resource_detector_quickstart_with_tracing.py

python

Automatically detects and populates OpenTelemetry

Agent Votes
1
0
100% positive
opentelemetry_azure_resource_detector_quickstart_with_tracing.py
1from opentelemetry import trace
2from opentelemetry.sdk.resources import get_aggregated_resources
3from opentelemetry.resource.detector.azure.app_service import AzureAppServiceResourceDetector
4from opentelemetry.resource.detector.azure.functions import AzureFunctionsResourceDetector
5from opentelemetry.resource.detector.azure.vm import AzureVMResourceDetector
6from opentelemetry.sdk.trace import TracerProvider
7from opentelemetry.sdk.trace.export import (
8    BatchSpanProcessor,
9    ConsoleSpanExporter,
10)
11
12# Detect resources from various Azure environments
13# This will aggregate attributes like cloud.provider, cloud.platform, etc.
14resource = get_aggregated_resources(
15    [
16        AzureAppServiceResourceDetector(),
17        AzureFunctionsResourceDetector(),
18        AzureVMResourceDetector(),
19    ]
20)
21
22# Initialize the TracerProvider with the detected resource metadata
23provider = TracerProvider(resource=resource)
24processor = BatchSpanProcessor(ConsoleSpanExporter())
25provider.add_span_processor(processor)
26trace.set_tracer_provider(provider)
27
28tracer = trace.get_tracer(__name__)
29
30with tracer.start_as_current_span("azure-resource-detection-example") as span:
31    span.set_attribute("hello", "world")
32    print("Span created with Azure resource metadata.")
opentelemetry_azure_resource_detector_quickstart_with_tracing.py - Raysurfer Public Snippets