Skip to content

Commit 6448e51

Browse files
authored
Revise cloud detectors (#222)
* Bump opentelemetry-sdk-extension-aws dependency to 2.1.0 So that loading the detectors outside the expected platform will not add warnings. * distro: disable _gcp resource detector The _gcp resource detector is currently buggy and when loaded on GCP it will go into an infinite loop loading all the resource detectors.
1 parent 5d476a4 commit 6448e51

File tree

6 files changed

+10
-11
lines changed

6 files changed

+10
-11
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,12 @@ This distribution sets the following defaults:
8080
- `OTEL_METRICS_EXPORTER`: `otlp`
8181
- `OTEL_LOGS_EXPORTER`: `otlp`
8282
- `OTEL_EXPORTER_OTLP_PROTOCOL`: `grpc`
83-
- `OTEL_EXPERIMENTAL_RESOURCE_DETECTORS`: `process_runtime,os,otel,telemetry_distro,_gcp,aws_ec2,aws_ecs,aws_elastic_beanstalk,azure_app_service,azure_vm`
83+
- `OTEL_EXPERIMENTAL_RESOURCE_DETECTORS`: `process_runtime,os,otel,telemetry_distro,aws_ec2,aws_ecs,aws_elastic_beanstalk,azure_app_service,azure_vm`
8484
- `OTEL_METRICS_EXEMPLAR_FILTER`: `always_off`
8585
- `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE`: `DELTA`
8686

8787
> [!NOTE]
88-
> `OTEL_EXPERIMENTAL_RESOURCE_DETECTORS` cloud resource detectors are dynamically set. When running in a Kubernetes Pod it will be set to `process_runtime,os,otel,telemetry_distro,_gcp,aws_eks`.
88+
> `OTEL_EXPERIMENTAL_RESOURCE_DETECTORS` cloud resource detectors are dynamically set. When running in a Kubernetes Pod it will be set to `process_runtime,os,otel,telemetry_distro,aws_eks`.
8989
9090
### Distribution specific configuration variables
9191

dev-requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ opentelemetry-sdk==1.29.0
8181
# opentelemetry-resource-detector-azure
8282
# opentelemetry-resourcedetector-gcp
8383
# opentelemetry-sdk-extension-aws
84-
opentelemetry-sdk-extension-aws==2.0.2
84+
opentelemetry-sdk-extension-aws==2.1.0
8585
# via elastic-opentelemetry (pyproject.toml)
8686
opentelemetry-semantic-conventions==0.50b0
8787
# via

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ dependencies = [
3434
"opentelemetry-resourcedetector-gcp ~= 1.7.0a0",
3535
"opentelemetry-resource-detector-azure ~= 0.1.5",
3636
"opentelemetry-sdk == 1.29.0",
37-
"opentelemetry-sdk-extension-aws ~= 2.0.2",
37+
"opentelemetry-sdk-extension-aws ~= 2.1.0",
3838
"opentelemetry-semantic-conventions == 0.50b0",
3939
"packaging",
4040
]

src/elasticotel/distro/resource_detectors.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,9 @@
1818

1919
AWS_LAMBDA_DETECTORS = ["aws_lambda"]
2020
AZURE_FUNCTIONS_DETECTORS = ["azure_functions"]
21-
GCP_CLOUD_RUN_DETECTORS = ["_gcp"]
22-
KUBERNETES_DETECTORS = ["_gcp", "aws_eks"]
21+
GCP_CLOUD_RUN_DETECTORS = []
22+
KUBERNETES_DETECTORS = ["aws_eks"]
2323
OTHER_CLOUD_DETECTORS = [
24-
"_gcp",
2524
"aws_ec2",
2625
"aws_ecs",
2726
"aws_elastic_beanstalk",

tests/distro/test_distro.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def test_default_configuration(self):
4242
self.assertEqual("otlp", os.environ.get(OTEL_LOGS_EXPORTER))
4343
self.assertEqual("grpc", os.environ.get(OTEL_EXPORTER_OTLP_PROTOCOL))
4444
self.assertEqual(
45-
"process_runtime,os,otel,telemetry_distro,_gcp,aws_ec2,aws_ecs,aws_elastic_beanstalk,azure_app_service,azure_vm",
45+
"process_runtime,os,otel,telemetry_distro,aws_ec2,aws_ecs,aws_elastic_beanstalk,azure_app_service,azure_vm",
4646
os.environ.get(OTEL_EXPERIMENTAL_RESOURCE_DETECTORS),
4747
)
4848
self.assertEqual("always_off", os.environ.get(OTEL_METRICS_EXEMPLAR_FILTER))

tests/distro/test_resource_detectors.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,17 @@ def test_azure_functions(self):
3333
@mock.patch.dict("os.environ", {"K_CONFIGURATION": "cloudrun"}, clear=True)
3434
def test_gcp_cloud_run(self):
3535
resource_detectors = get_cloud_resource_detectors()
36-
self.assertEqual(resource_detectors, ["_gcp"])
36+
self.assertEqual(resource_detectors, [])
3737

3838
@mock.patch.dict("os.environ", {"KUBERNETES_SERVICE_HOST": "k8s"}, clear=True)
3939
def test_kubernetes_pod(self):
4040
resource_detectors = get_cloud_resource_detectors()
41-
self.assertEqual(resource_detectors, ["_gcp", "aws_eks"])
41+
self.assertEqual(resource_detectors, ["aws_eks"])
4242

4343
@mock.patch.dict("os.environ", {}, clear=True)
4444
def test_other_cloud_detectors(self):
4545
resource_detectors = get_cloud_resource_detectors()
4646
self.assertEqual(
4747
resource_detectors,
48-
["_gcp", "aws_ec2", "aws_ecs", "aws_elastic_beanstalk", "azure_app_service", "azure_vm"],
48+
["aws_ec2", "aws_ecs", "aws_elastic_beanstalk", "azure_app_service", "azure_vm"],
4949
)

0 commit comments

Comments
 (0)