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 e19a63c034..e94c649269 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,9 @@ 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 String GCP_RESOURCE_NAME_PREFIX = "//spanner.googleapis.com/"; private static final AttributeKey THREAD_NAME_KEY = AttributeKey.stringKey("thread.name"); private final Tracer openCensusTracer; @@ -219,6 +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, 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 732709a731..e2669dc7ed 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,11 @@ 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")), + String.format( + "//spanner.googleapis.com/projects/%s/instances/%s/databases/%s", + TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE)); } private static void verifyTableAttributes(SpanData span) {