From 98275f535fea1c4f7abd9d3575aa7b8a74c2c0f7 Mon Sep 17 00:00:00 2001 From: Surbhi Garg Date: Fri, 16 Jan 2026 14:02:52 +0530 Subject: [PATCH 1/3] chore: Add gcp resource name span attribute --- .../src/main/java/com/google/cloud/spanner/TraceWrapper.java | 3 +++ .../java/com/google/cloud/spanner/OpenTelemetrySpanTest.java | 3 +++ 2 files changed, 6 insertions(+) diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/TraceWrapper.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/TraceWrapper.java index e19a63c034f..fd173441c41 100644 --- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/TraceWrapper.java +++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/TraceWrapper.java @@ -55,6 +55,8 @@ class TraceWrapper { AttributeKey.stringKey("gcp.client.version"); private static final AttributeKey GCP_CLIENT_REPO_KEY = AttributeKey.stringKey("gcp.client.repo"); + private static final AttributeKey GCP_RESOURCE_NAME_KEY = + AttributeKey.stringKey("gcp.resource.name"); private static final AttributeKey THREAD_NAME_KEY = AttributeKey.stringKey("thread.name"); private final Tracer openCensusTracer; @@ -219,6 +221,7 @@ Attributes createDatabaseAttributes(DatabaseId db) { AttributesBuilder builder = Attributes.builder(); builder.put(DB_NAME_KEY, db.getDatabase()); builder.put(INSTANCE_NAME_KEY, db.getInstanceId().getInstance()); + builder.put(GCP_RESOURCE_NAME_KEY, "//spanner.googleapis.com/" + db.getName()); return builder.build(); } diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/OpenTelemetrySpanTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/OpenTelemetrySpanTest.java index 732709a7310..f968993123d 100644 --- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/OpenTelemetrySpanTest.java +++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/OpenTelemetrySpanTest.java @@ -912,6 +912,9 @@ private static void verifyCommonAttributes(SpanData span) { assertEquals( span.getAttributes().get(AttributeKey.stringKey("gcp.client.version")), GaxProperties.getLibraryVersion(TraceWrapper.class)); + assertEquals( + span.getAttributes().get(AttributeKey.stringKey("gcp.resource.name")), + "//spanner.googleapis.com/projects/my-project/instances/my-instance/databases/my-database"); } private static void verifyTableAttributes(SpanData span) { From 61c33e3c87de19d754c015eb352d15c80ec0374b Mon Sep 17 00:00:00 2001 From: surbhigarg92 Date: Fri, 16 Jan 2026 14:14:21 +0530 Subject: [PATCH 2/3] Update google-cloud-spanner/src/test/java/com/google/cloud/spanner/OpenTelemetrySpanTest.java Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .../java/com/google/cloud/spanner/OpenTelemetrySpanTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/OpenTelemetrySpanTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/OpenTelemetrySpanTest.java index f968993123d..b981ab1f8b8 100644 --- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/OpenTelemetrySpanTest.java +++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/OpenTelemetrySpanTest.java @@ -914,7 +914,7 @@ private static void verifyCommonAttributes(SpanData span) { GaxProperties.getLibraryVersion(TraceWrapper.class)); assertEquals( span.getAttributes().get(AttributeKey.stringKey("gcp.resource.name")), - "//spanner.googleapis.com/projects/my-project/instances/my-instance/databases/my-database"); + String.format("//spanner.googleapis.com/projects/%s/instances/%s/databases/%s", TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE)); } private static void verifyTableAttributes(SpanData span) { From 1380eb778e991ed6b4e59cfd81ee579aa6d89449 Mon Sep 17 00:00:00 2001 From: Surbhi Garg Date: Fri, 16 Jan 2026 14:02:52 +0530 Subject: [PATCH 3/3] chore: Add gcp resource name span attribute --- .../src/main/java/com/google/cloud/spanner/TraceWrapper.java | 3 ++- .../java/com/google/cloud/spanner/OpenTelemetrySpanTest.java | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/TraceWrapper.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/TraceWrapper.java index fd173441c41..e94c6492699 100644 --- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/TraceWrapper.java +++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/TraceWrapper.java @@ -57,6 +57,7 @@ class TraceWrapper { AttributeKey.stringKey("gcp.client.repo"); private static final AttributeKey GCP_RESOURCE_NAME_KEY = AttributeKey.stringKey("gcp.resource.name"); + private static final String GCP_RESOURCE_NAME_PREFIX = "//spanner.googleapis.com/"; private static final AttributeKey THREAD_NAME_KEY = AttributeKey.stringKey("thread.name"); private final Tracer openCensusTracer; @@ -221,7 +222,7 @@ Attributes createDatabaseAttributes(DatabaseId db) { AttributesBuilder builder = Attributes.builder(); builder.put(DB_NAME_KEY, db.getDatabase()); builder.put(INSTANCE_NAME_KEY, db.getInstanceId().getInstance()); - builder.put(GCP_RESOURCE_NAME_KEY, "//spanner.googleapis.com/" + db.getName()); + builder.put(GCP_RESOURCE_NAME_KEY, GCP_RESOURCE_NAME_PREFIX + db.getName()); return builder.build(); } diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/OpenTelemetrySpanTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/OpenTelemetrySpanTest.java index b981ab1f8b8..e2669dc7ed1 100644 --- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/OpenTelemetrySpanTest.java +++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/OpenTelemetrySpanTest.java @@ -914,7 +914,9 @@ private static void verifyCommonAttributes(SpanData span) { GaxProperties.getLibraryVersion(TraceWrapper.class)); assertEquals( span.getAttributes().get(AttributeKey.stringKey("gcp.resource.name")), - String.format("//spanner.googleapis.com/projects/%s/instances/%s/databases/%s", TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE)); + String.format( + "//spanner.googleapis.com/projects/%s/instances/%s/databases/%s", + TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE)); } private static void verifyTableAttributes(SpanData span) {