Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,20 @@ public String getDbSystemName(GeodeRequest request) {
@Override
@Nullable
public String getDbNamespace(GeodeRequest request) {
return null;
}

@Override
@Nullable
public String getDbCollectionName(GeodeRequest request) {
return request.getRegion().getName();
}

@Override
@Nullable
// Old database semconv still uses db.name, so we must implement the deprecated hook.
@SuppressWarnings("deprecation")
public String getDbName(GeodeRequest request) {
return request.getRegion().getName();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@

package io.opentelemetry.javaagent.instrumentation.geode.v1_4;

import static io.opentelemetry.instrumentation.api.internal.SemconvStability.emitStableDatabaseSemconv;
import static io.opentelemetry.instrumentation.testing.junit.db.DbClientMetricsTestUtil.assertDurationMetric;
import static io.opentelemetry.instrumentation.testing.junit.db.SemconvStabilityUtil.maybeStable;
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
import static io.opentelemetry.semconv.DbAttributes.DB_COLLECTION_NAME;
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAME;
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE;
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION;
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME;
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_STATEMENT;
Expand Down Expand Up @@ -68,7 +69,11 @@ void testDurationMetric() {
region.put("key", "value");

assertDurationMetric(
testing, "io.opentelemetry.geode-1.4", DB_SYSTEM_NAME, DB_NAMESPACE, DB_OPERATION_NAME);
testing,
"io.opentelemetry.geode-1.4",
DB_SYSTEM_NAME,
DB_COLLECTION_NAME,
DB_OPERATION_NAME);
}

@ParameterizedTest
Expand All @@ -92,21 +97,30 @@ void testPutAndGet(Object key, Object value) {
.hasKind(SpanKind.CLIENT)
.hasAttributesSatisfyingExactly(
equalTo(maybeStable(DB_SYSTEM), GEODE),
equalTo(maybeStable(DB_NAME), "test-region"),
equalTo(
DB_COLLECTION_NAME,
emitStableDatabaseSemconv() ? "test-region" : null),
equalTo(DB_NAME, emitStableDatabaseSemconv() ? null : "test-region"),
equalTo(maybeStable(DB_OPERATION), "clear")),
span ->
span.hasName("put test-region")
.hasKind(SpanKind.CLIENT)
.hasAttributesSatisfyingExactly(
equalTo(maybeStable(DB_SYSTEM), GEODE),
equalTo(maybeStable(DB_NAME), "test-region"),
equalTo(
DB_COLLECTION_NAME,
emitStableDatabaseSemconv() ? "test-region" : null),
equalTo(DB_NAME, emitStableDatabaseSemconv() ? null : "test-region"),
equalTo(maybeStable(DB_OPERATION), "put")),
span ->
span.hasName("get test-region")
.hasKind(SpanKind.CLIENT)
.hasAttributesSatisfyingExactly(
equalTo(maybeStable(DB_SYSTEM), GEODE),
equalTo(maybeStable(DB_NAME), "test-region"),
equalTo(
DB_COLLECTION_NAME,
emitStableDatabaseSemconv() ? "test-region" : null),
equalTo(DB_NAME, emitStableDatabaseSemconv() ? null : "test-region"),
equalTo(maybeStable(DB_OPERATION), "get"))));
}

Expand All @@ -130,21 +144,30 @@ void testPutAndRemove(Object key, Object value) {
.hasKind(SpanKind.CLIENT)
.hasAttributesSatisfyingExactly(
equalTo(maybeStable(DB_SYSTEM), GEODE),
equalTo(maybeStable(DB_NAME), "test-region"),
equalTo(
DB_COLLECTION_NAME,
emitStableDatabaseSemconv() ? "test-region" : null),
equalTo(DB_NAME, emitStableDatabaseSemconv() ? null : "test-region"),
equalTo(maybeStable(DB_OPERATION), "clear")),
span ->
span.hasName("put test-region")
.hasKind(SpanKind.CLIENT)
.hasAttributesSatisfyingExactly(
equalTo(maybeStable(DB_SYSTEM), GEODE),
equalTo(maybeStable(DB_NAME), "test-region"),
equalTo(
DB_COLLECTION_NAME,
emitStableDatabaseSemconv() ? "test-region" : null),
equalTo(DB_NAME, emitStableDatabaseSemconv() ? null : "test-region"),
equalTo(maybeStable(DB_OPERATION), "put")),
span ->
span.hasName("remove test-region")
.hasKind(SpanKind.CLIENT)
.hasAttributesSatisfyingExactly(
equalTo(maybeStable(DB_SYSTEM), GEODE),
equalTo(maybeStable(DB_NAME), "test-region"),
equalTo(
DB_COLLECTION_NAME,
emitStableDatabaseSemconv() ? "test-region" : null),
equalTo(DB_NAME, emitStableDatabaseSemconv() ? null : "test-region"),
equalTo(maybeStable(DB_OPERATION), "remove"))));
}

Expand All @@ -169,21 +192,30 @@ void testQuery(Object key, Object value) throws QueryException {
.hasKind(SpanKind.CLIENT)
.hasAttributesSatisfyingExactly(
equalTo(maybeStable(DB_SYSTEM), GEODE),
equalTo(maybeStable(DB_NAME), "test-region"),
equalTo(
DB_COLLECTION_NAME,
emitStableDatabaseSemconv() ? "test-region" : null),
equalTo(DB_NAME, emitStableDatabaseSemconv() ? null : "test-region"),
equalTo(maybeStable(DB_OPERATION), "clear")),
span ->
span.hasName("put test-region")
.hasKind(SpanKind.CLIENT)
.hasAttributesSatisfyingExactly(
equalTo(maybeStable(DB_SYSTEM), GEODE),
equalTo(maybeStable(DB_NAME), "test-region"),
equalTo(
DB_COLLECTION_NAME,
emitStableDatabaseSemconv() ? "test-region" : null),
equalTo(DB_NAME, emitStableDatabaseSemconv() ? null : "test-region"),
equalTo(maybeStable(DB_OPERATION), "put")),
span ->
span.hasName("query test-region")
.hasKind(SpanKind.CLIENT)
.hasAttributesSatisfyingExactly(
equalTo(maybeStable(DB_SYSTEM), GEODE),
equalTo(maybeStable(DB_NAME), "test-region"),
equalTo(
DB_COLLECTION_NAME,
emitStableDatabaseSemconv() ? "test-region" : null),
equalTo(DB_NAME, emitStableDatabaseSemconv() ? null : "test-region"),
equalTo(maybeStable(DB_OPERATION), "query"),
equalTo(maybeStable(DB_STATEMENT), "SELECT * FROM /test-region"))));
}
Expand All @@ -209,21 +241,30 @@ void testExistsValue(Object key, Object value) throws QueryException {
.hasKind(SpanKind.CLIENT)
.hasAttributesSatisfyingExactly(
equalTo(maybeStable(DB_SYSTEM), GEODE),
equalTo(maybeStable(DB_NAME), "test-region"),
equalTo(
DB_COLLECTION_NAME,
emitStableDatabaseSemconv() ? "test-region" : null),
equalTo(DB_NAME, emitStableDatabaseSemconv() ? null : "test-region"),
equalTo(maybeStable(DB_OPERATION), "clear")),
span ->
span.hasName("put test-region")
.hasKind(SpanKind.CLIENT)
.hasAttributesSatisfyingExactly(
equalTo(maybeStable(DB_SYSTEM), GEODE),
equalTo(maybeStable(DB_NAME), "test-region"),
equalTo(
DB_COLLECTION_NAME,
emitStableDatabaseSemconv() ? "test-region" : null),
equalTo(DB_NAME, emitStableDatabaseSemconv() ? null : "test-region"),
equalTo(maybeStable(DB_OPERATION), "put")),
span ->
span.hasName("existsValue test-region")
.hasKind(SpanKind.CLIENT)
.hasAttributesSatisfyingExactly(
equalTo(maybeStable(DB_SYSTEM), GEODE),
equalTo(maybeStable(DB_NAME), "test-region"),
equalTo(
DB_COLLECTION_NAME,
emitStableDatabaseSemconv() ? "test-region" : null),
equalTo(DB_NAME, emitStableDatabaseSemconv() ? null : "test-region"),
equalTo(maybeStable(DB_OPERATION), "existsValue"),
equalTo(maybeStable(DB_STATEMENT), "SELECT * FROM /test-region"))));
}
Expand All @@ -250,21 +291,30 @@ void shouldSanitizeGeodeQuery() throws QueryException {
.hasKind(SpanKind.CLIENT)
.hasAttributesSatisfyingExactly(
equalTo(maybeStable(DB_SYSTEM), GEODE),
equalTo(maybeStable(DB_NAME), "test-region"),
equalTo(
DB_COLLECTION_NAME,
emitStableDatabaseSemconv() ? "test-region" : null),
equalTo(DB_NAME, emitStableDatabaseSemconv() ? null : "test-region"),
equalTo(maybeStable(DB_OPERATION), "clear")),
span ->
span.hasName("put test-region")
.hasKind(SpanKind.CLIENT)
.hasAttributesSatisfyingExactly(
equalTo(maybeStable(DB_SYSTEM), GEODE),
equalTo(maybeStable(DB_NAME), "test-region"),
equalTo(
DB_COLLECTION_NAME,
emitStableDatabaseSemconv() ? "test-region" : null),
equalTo(DB_NAME, emitStableDatabaseSemconv() ? null : "test-region"),
equalTo(maybeStable(DB_OPERATION), "put")),
span ->
span.hasName("query test-region")
.hasKind(SpanKind.CLIENT)
.hasAttributesSatisfyingExactly(
equalTo(maybeStable(DB_SYSTEM), GEODE),
equalTo(maybeStable(DB_NAME), "test-region"),
equalTo(
DB_COLLECTION_NAME,
emitStableDatabaseSemconv() ? "test-region" : null),
equalTo(DB_NAME, emitStableDatabaseSemconv() ? null : "test-region"),
equalTo(maybeStable(DB_OPERATION), "query"),
equalTo(
maybeStable(DB_STATEMENT),
Expand Down
Loading