Skip to content

Commit 5b75894

Browse files
committed
error.type and db.response.status_code for jdbc
1 parent 9956b7b commit 5b75894

File tree

4 files changed

+12
-3
lines changed

4 files changed

+12
-3
lines changed

instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientCommonAttributesGetter.java

+6
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,10 @@ default String getResponseStatusFromException(Throwable throwable) {
5454
default String getResponseStatus(RESPONSE response) {
5555
return null;
5656
}
57+
58+
@Nullable
59+
default String httpStatusToResponseStatus(int httpStatus) {
60+
int hundreds = httpStatus / 100;
61+
return hundreds == 4 || hundreds == 5 ? Integer.toString(httpStatus) : null;
62+
}
5763
}

instrumentation/elasticsearch/elasticsearch-rest-common/library/src/main/java/io/opentelemetry/instrumentation/elasticsearch/rest/internal/ElasticsearchDbAttributesGetter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,6 @@ public String getDbOperationName(ElasticsearchRestRequest request) {
9595

9696
@Override
9797
public String getResponseStatus(Response response) {
98-
return String.valueOf(response.getStatusLine().getStatusCode());
98+
return httpStatusToResponseStatus(response.getStatusLine().getStatusCode());
9999
}
100100
}

instrumentation/lettuce/lettuce-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceAsyncClientTest.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import static io.opentelemetry.api.common.AttributeKey.booleanKey;
99
import static io.opentelemetry.instrumentation.testing.junit.db.SemconvStabilityUtil.maybeStable;
1010
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
11+
import static io.opentelemetry.semconv.ErrorAttributes.ERROR_TYPE;
1112
import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS;
1213
import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT;
1314
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION;
@@ -422,7 +423,9 @@ void testCommandCompletesExceptionally() {
422423
.hasException(new IllegalStateException("TestException"))
423424
.hasAttributesSatisfyingExactly(
424425
equalTo(maybeStable(DB_SYSTEM), "redis"),
425-
equalTo(maybeStable(DB_OPERATION), "DEL"))));
426+
equalTo(maybeStable(DB_OPERATION), "DEL"),
427+
equalTo(maybeStable(ERROR_TYPE), "java.lang.IllegalStateException")
428+
)));
426429
}
427430

428431
@Test

instrumentation/opensearch/opensearch-rest-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opensearch/rest/OpenSearchRestAttributesGetter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,6 @@ public String getDbOperationName(OpenSearchRestRequest request) {
5353

5454
@Override
5555
public String getResponseStatus(Response response) {
56-
return String.valueOf(response.getStatusLine().getStatusCode());
56+
return httpStatusToResponseStatus(response.getStatusLine().getStatusCode());
5757
}
5858
}

0 commit comments

Comments
 (0)