From 01628987070451b6a9f79668a415aa922f9d466c Mon Sep 17 00:00:00 2001 From: Max Ind Date: Fri, 3 Oct 2025 02:56:00 -0700 Subject: [PATCH] ADK changes PiperOrigin-RevId: 814614027 --- src/google/adk/telemetry/google_cloud.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/google/adk/telemetry/google_cloud.py b/src/google/adk/telemetry/google_cloud.py index 100182cb..ec78cf16 100644 --- a/src/google/adk/telemetry/google_cloud.py +++ b/src/google/adk/telemetry/google_cloud.py @@ -17,7 +17,6 @@ from __future__ import annotations import logging import google.auth -from opentelemetry.resourcedetector.gcp_resource_detector import GoogleCloudResourceDetector from opentelemetry.sdk._logs import LogRecordProcessor from opentelemetry.sdk._logs.export import BatchLogRecordProcessor from opentelemetry.sdk.metrics.export import MetricReader @@ -108,8 +107,19 @@ def get_gcp_resource() -> Resource: # Then the GCP detector adds attributes corresponding to a correct # monitored resource if ADK runs on one of supported platforms # (e.g. GCE, GKE, CloudRun). - return ( - OTELResourceDetector() - .detect() - .merge(GoogleCloudResourceDetector(raise_on_error=False).detect()) - ) + + resource = OTELResourceDetector().detect() + + try: + from opentelemetry.resourcedetector.gcp_resource_detector import GoogleCloudResourceDetector + + resource = resource.merge( + GoogleCloudResourceDetector(raise_on_error=False).detect() + ) + except ImportError: + logger.warning( + 'Cloud not import opentelemetry.resourcedetector.gcp_resource_detector' + ' GCE, GKE or CloudRun related resource attributes may be missing' + ) + + return resource