diff --git a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/telemetry/EnabledTraceUtil.java b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/telemetry/EnabledTraceUtil.java index 334bdfffb..863012b4e 100644 --- a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/telemetry/EnabledTraceUtil.java +++ b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/telemetry/EnabledTraceUtil.java @@ -283,6 +283,12 @@ private SpanBuilder addSettingsAttributesToCurrentSpan(SpanBuilder spanBuilder) spanBuilder = spanBuilder.setAllAttributes( Attributes.builder() + .put( + ATTRIBUTE_GCP_RESOURCE_NAME, + String.format( + ATTRIBUTE_GCP_RESOURCE_NAME_FORMAT, + firestoreOptions.getProjectId(), + firestoreOptions.getDatabaseId())) .put( ATTRIBUTE_SERVICE_PREFIX + "settings.project_id", firestoreOptions.getProjectId()) diff --git a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/telemetry/TraceUtil.java b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/telemetry/TraceUtil.java index 847eff58a..2b84cfe5a 100644 --- a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/telemetry/TraceUtil.java +++ b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/telemetry/TraceUtil.java @@ -40,6 +40,8 @@ public interface TraceUtil { String ATTRIBUTE_KEY_TRANSACTION_TYPE = "transaction_type"; String ATTRIBUTE_KEY_ATTEMPTS_ALLOWED = "attempts_allowed"; String ATTRIBUTE_KEY_ATTEMPTS_REMAINING = "attempts_remaining"; + String ATTRIBUTE_GCP_RESOURCE_NAME = "gcp.resource.name"; + String ATTRIBUTE_GCP_RESOURCE_NAME_FORMAT = "//firestore.googleapis.com/projects/%s/databases/%s"; String ENABLE_TRACING_ENV_VAR = "FIRESTORE_ENABLE_TRACING"; String LIBRARY_NAME = "com.google.cloud.firestore"; diff --git a/google-cloud-firestore/src/test/java/com/google/cloud/firestore/it/ITTracingTest.java b/google-cloud-firestore/src/test/java/com/google/cloud/firestore/it/ITTracingTest.java index 7efdd0704..171d2b887 100644 --- a/google-cloud-firestore/src/test/java/com/google/cloud/firestore/it/ITTracingTest.java +++ b/google-cloud-firestore/src/test/java/com/google/cloud/firestore/it/ITTracingTest.java @@ -281,6 +281,7 @@ void assertHasExpectedAttributes(SpanData spanData, String... additionalExpected // All Firestore-generated spans have the settings attributes. List expectedAttributes = Arrays.asList( + "gcp.resource.name", "gcp.firestore.memory_utilization", "gcp.firestore.settings.host", "gcp.firestore.settings.project_id",