Skip to content

Commit 934716d

Browse files
committed
chore(spanner): remove deprecated OTel GCP resource detector dependency
1 parent f2d0474 commit 934716d

2 files changed

Lines changed: 17 additions & 13 deletions

File tree

java-spanner/google-cloud-spanner/pom.xml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@
179179
<groupId>org.apache.maven.plugins</groupId>
180180
<artifactId>maven-dependency-plugin</artifactId>
181181
<configuration>
182-
<ignoredDependencies>io.grpc:grpc-protobuf-lite,org.hamcrest:hamcrest,org.hamcrest:hamcrest-core,com.google.errorprone:error_prone_annotations,org.openjdk.jmh:jmh-generator-annprocess,com.google.api.grpc:grpc-google-cloud-spanner-v1,com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1,com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1,javax.annotation:javax.annotation-api,io.opencensus:opencensus-impl,org.graalvm.sdk:graal-sdk,io.grpc:grpc-googleapis,io.grpc:grpc-rls,com.google.api.grpc:proto-google-cloud-spanner-executor-v1,com.google.api.grpc:grpc-google-cloud-spanner-executor-v1</ignoredDependencies>
182+
<ignoredDependencies>io.grpc:grpc-protobuf-lite,org.hamcrest:hamcrest,org.hamcrest:hamcrest-core,com.google.errorprone:error_prone_annotations,org.openjdk.jmh:jmh-generator-annprocess,com.google.api.grpc:grpc-google-cloud-spanner-v1,com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1,com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1,javax.annotation:javax.annotation-api,io.opencensus:opencensus-impl,org.graalvm.sdk:graal-sdk,io.grpc:grpc-googleapis,io.grpc:grpc-rls,com.google.api.grpc:proto-google-cloud-spanner-executor-v1,com.google.api.grpc:grpc-google-cloud-spanner-executor-v1,io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi</ignoredDependencies>
183183
</configuration>
184184
</plugin>
185185
</plugins>
@@ -304,8 +304,12 @@
304304
<artifactId>opentelemetry-sdk-metrics</artifactId>
305305
</dependency>
306306
<dependency>
307-
<groupId>com.google.cloud.opentelemetry</groupId>
308-
<artifactId>detector-resources-support</artifactId>
307+
<groupId>io.opentelemetry.contrib</groupId>
308+
<artifactId>opentelemetry-gcp-resources</artifactId>
309+
</dependency>
310+
<dependency>
311+
<groupId>io.opentelemetry</groupId>
312+
<artifactId>opentelemetry-sdk-extension-autoconfigure-spi</artifactId>
309313
</dependency>
310314
<dependency>
311315
<groupId>com.google.cloud</groupId>

java-spanner/google-cloud-spanner/src/main/java/com/google/cloud/spanner/BuiltInMetricsProvider.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package com.google.cloud.spanner;
1818

19-
import static com.google.cloud.opentelemetry.detection.GCPPlatformDetector.SupportedPlatform.GOOGLE_KUBERNETES_ENGINE;
2019
import static com.google.cloud.spanner.BuiltInMetricsConstant.CLIENT_HASH_KEY;
2120
import static com.google.cloud.spanner.BuiltInMetricsConstant.CLIENT_NAME_KEY;
2221
import static com.google.cloud.spanner.BuiltInMetricsConstant.CLIENT_UID_KEY;
@@ -29,18 +28,17 @@
2928
import com.google.api.gax.core.GaxProperties;
3029
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
3130
import com.google.auth.Credentials;
32-
import com.google.cloud.opentelemetry.detection.AttributeKeys;
33-
import com.google.cloud.opentelemetry.detection.DetectedPlatform;
34-
import com.google.cloud.opentelemetry.detection.GCPPlatformDetector;
3531
import com.google.common.annotations.VisibleForTesting;
3632
import com.google.common.base.Strings;
3733
import com.google.common.hash.HashFunction;
3834
import com.google.common.hash.Hashing;
3935
import io.grpc.ManagedChannelBuilder;
4036
import io.grpc.opentelemetry.GrpcOpenTelemetry;
4137
import io.opentelemetry.api.OpenTelemetry;
38+
import io.opentelemetry.api.common.AttributeKey;
4239
import io.opentelemetry.api.common.Attributes;
4340
import io.opentelemetry.api.common.AttributesBuilder;
41+
import io.opentelemetry.contrib.gcp.resource.GCPResourceProvider;
4442
import io.opentelemetry.sdk.OpenTelemetrySdk;
4543
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
4644
import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder;
@@ -264,12 +262,14 @@ static String detectClientLocation() {
264262
if (location == null) {
265263
location = default_location;
266264
if (quickCheckIsRunningOnGcp()) {
267-
GCPPlatformDetector detector = GCPPlatformDetector.DEFAULT_INSTANCE;
268-
DetectedPlatform detectedPlatform = detector.detectPlatform();
269-
// All platform except GKE uses "cloud_region" for region attribute.
270-
String region = detectedPlatform.getAttributes().get("cloud_region");
271-
if (detectedPlatform.getSupportedPlatform() == GOOGLE_KUBERNETES_ENGINE) {
272-
region = detectedPlatform.getAttributes().get(AttributeKeys.GKE_CLUSTER_LOCATION);
265+
Attributes detectedResourceAttributes = new GCPResourceProvider().getAttributes();
266+
// All platform except GKE uses "cloud.region" for region attribute.
267+
// GKE could either use "cloud.region" or "cloud.availability_zone" for region attribute.
268+
String region = detectedResourceAttributes.get(AttributeKey.stringKey("cloud.region"));
269+
String gkeZonalClusterLocation =
270+
detectedResourceAttributes.get(AttributeKey.stringKey("cloud.availability_zone"));
271+
if (region == null && gkeZonalClusterLocation != null) {
272+
region = gkeZonalClusterLocation;
273273
}
274274
location = region == null ? location : region;
275275
}

0 commit comments

Comments
 (0)