Skip to content

Commit d7fe99e

Browse files
authored
Fix creation of resources in _detector (#366)
* Fix creation of resources in _detector We should create a Resource instance and not use Resource.create because if we set OTEL_EXPERIMENTAL_RESOURCE_DETECTORS we will go into an infinite loop trying to load and instantiate all the resources detectors. Fix #363 * Update snapshots
1 parent 495e4c5 commit d7fe99e

File tree

3 files changed

+6
-35
lines changed

3 files changed

+6
-35
lines changed

e2e-test-server/e2e_test_server/scenarios.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
from opentelemetry.sdk.trace.export import BatchSpanProcessor
3030
from opentelemetry.sdk.trace.sampling import ALWAYS_ON
3131
from opentelemetry.trace import SpanKind, Tracer, format_trace_id
32+
from opentelemetry.sdk.resources import get_aggregated_resources
3233
from pydantic import BaseModel
3334

3435
from .constants import INSTRUMENTING_MODULE_NAME, PROJECT_ID, TEST_ID, TRACE_ID
@@ -59,9 +60,7 @@ def _tracer_setup(
5960
spans created during the test after.
6061
"""
6162

62-
tracer_provider = TracerProvider(
63-
sampler=ALWAYS_ON, **tracer_provider_config
64-
)
63+
tracer_provider = TracerProvider(sampler=ALWAYS_ON, **tracer_provider_config)
6564
tracer_provider.add_span_processor(
6665
BatchSpanProcessor(
6766
CloudTraceSpanExporter(project_id=PROJECT_ID, **exporter_config)
@@ -139,9 +138,9 @@ def detect_resource(request: Request) -> Response:
139138
"""Create a trace with GCP resource detector"""
140139
with _tracer_setup(
141140
tracer_provider_config={
142-
"resource": GoogleCloudResourceDetector(
143-
raise_on_error=True
144-
).detect()
141+
"resource": get_aggregated_resources(
142+
[GoogleCloudResourceDetector(raise_on_error=True)]
143+
)
145144
},
146145
exporter_config={"resource_regex": r".*"},
147146
) as tracer:

opentelemetry-resourcedetector-gcp/src/opentelemetry/resourcedetector/gcp_resource_detector/_detector.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ def _gae_resource() -> Resource:
129129

130130

131131
def _make_resource(attrs: Mapping[str, AttributeValue]) -> Resource:
132-
return Resource.create(
132+
return Resource(
133133
{
134134
ResourceAttributes.CLOUD_PROVIDER: "gcp",
135135
ResourceAttributes.CLOUD_ACCOUNT_ID: _metadata.get_metadata()[

opentelemetry-resourcedetector-gcp/tests/__snapshots__/test_detector.ambr

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,6 @@
77
'faas.instance': '0087244a',
88
'faas.name': 'fake-service',
99
'faas.version': 'fake-revision',
10-
'service.name': 'unknown_service',
11-
'telemetry.sdk.language': 'python',
12-
'telemetry.sdk.name': 'opentelemetry',
13-
'telemetry.sdk.version': '1.20.0',
1410
})
1511
# ---
1612
# name: test_detects_cloud_run
@@ -22,10 +18,6 @@
2218
'faas.instance': '0087244a',
2319
'faas.name': 'fake-service',
2420
'faas.version': 'fake-revision',
25-
'service.name': 'unknown_service',
26-
'telemetry.sdk.language': 'python',
27-
'telemetry.sdk.name': 'opentelemetry',
28-
'telemetry.sdk.version': '1.20.0',
2921
})
3022
# ---
3123
# name: test_detects_empty_as_fallback
@@ -46,10 +38,6 @@
4638
'faas.instance': 'fake-instance',
4739
'faas.name': 'fake-service',
4840
'faas.version': 'fake-version',
49-
'service.name': 'unknown_service',
50-
'telemetry.sdk.language': 'python',
51-
'telemetry.sdk.name': 'opentelemetry',
52-
'telemetry.sdk.version': '1.20.0',
5341
})
5442
# ---
5543
# name: test_detects_gae_standard
@@ -62,10 +50,6 @@
6250
'faas.instance': 'fake-instance',
6351
'faas.name': 'fake-service',
6452
'faas.version': 'fake-version',
65-
'service.name': 'unknown_service',
66-
'telemetry.sdk.language': 'python',
67-
'telemetry.sdk.name': 'opentelemetry',
68-
'telemetry.sdk.version': '1.20.0',
6953
})
7054
# ---
7155
# name: test_detects_gce
@@ -78,10 +62,6 @@
7862
'host.id': '0087244a',
7963
'host.name': 'fakeName',
8064
'host.type': 'fakeMachineType',
81-
'service.name': 'unknown_service',
82-
'telemetry.sdk.language': 'python',
83-
'telemetry.sdk.name': 'opentelemetry',
84-
'telemetry.sdk.version': '1.20.0',
8565
})
8666
# ---
8767
# name: test_detects_gke[regional]
@@ -92,10 +72,6 @@
9272
'cloud.region': 'us-east4',
9373
'host.id': '12345',
9474
'k8s.cluster.name': 'fakeClusterName',
95-
'service.name': 'unknown_service',
96-
'telemetry.sdk.language': 'python',
97-
'telemetry.sdk.name': 'opentelemetry',
98-
'telemetry.sdk.version': '1.20.0',
9975
})
10076
# ---
10177
# name: test_detects_gke[zonal]
@@ -106,9 +82,5 @@
10682
'cloud.provider': 'gcp',
10783
'host.id': '12345',
10884
'k8s.cluster.name': 'fakeClusterName',
109-
'service.name': 'unknown_service',
110-
'telemetry.sdk.language': 'python',
111-
'telemetry.sdk.name': 'opentelemetry',
112-
'telemetry.sdk.version': '1.20.0',
11385
})
11486
# ---

0 commit comments

Comments
 (0)