Skip to content

Commit e71e0cf

Browse files
committed
error.type and db.response.status_code for jdbc
1 parent 2f66869 commit e71e0cf

File tree

4 files changed

+23
-1
lines changed

4 files changed

+23
-1
lines changed

instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/v5_3/springdata/Elasticsearch53SpringTemplateTest.java

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import static io.opentelemetry.api.common.AttributeKey.stringKey;
1010
import static io.opentelemetry.instrumentation.testing.junit.db.SemconvStabilityUtil.maybeStable;
1111
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
12+
import static io.opentelemetry.semconv.ErrorAttributes.ERROR_TYPE;
1213
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION;
1314
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM;
1415
import static org.assertj.core.api.Assertions.assertThat;
@@ -177,6 +178,7 @@ void elasticsearchError() {
177178
maybeStable(DB_SYSTEM),
178179
DbIncubatingAttributes.DbSystemIncubatingValues.ELASTICSEARCH),
179180
equalTo(maybeStable(DB_OPERATION), "RefreshAction"),
181+
equalTo(ERROR_TYPE, "org.elasticsearch.index.IndexNotFoundException"),
180182
equalTo(stringKey("elasticsearch.action"), "RefreshAction"),
181183
equalTo(stringKey("elasticsearch.request"), "RefreshRequest"),
182184
equalTo(stringKey("elasticsearch.request.indices"), indexName))));

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ void testCommandCompletesExceptionally() {
424424
.hasAttributesSatisfyingExactly(
425425
equalTo(maybeStable(DB_SYSTEM), "redis"),
426426
equalTo(maybeStable(DB_OPERATION), "DEL"),
427-
equalTo(maybeStable(ERROR_TYPE), "java.lang.IllegalStateException"))));
427+
equalTo(ERROR_TYPE, "java.lang.IllegalStateException"))));
428428
}
429429

430430
@Test

instrumentation/mongo/mongo-3.1/library/src/main/java/io/opentelemetry/instrumentation/mongo/v3_1/MongoDbAttributesGetter.java

+10
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
package io.opentelemetry.instrumentation.mongo.v3_1;
77

8+
import com.mongodb.MongoException;
89
import com.mongodb.ServerAddress;
910
import com.mongodb.connection.ConnectionDescription;
1011
import com.mongodb.event.CommandStartedEvent;
@@ -97,6 +98,15 @@ public String getDbOperationName(CommandStartedEvent event) {
9798
return event.getCommandName();
9899
}
99100

101+
@Nullable
102+
@Override
103+
public String getResponseStatusFromException(Throwable throwable) {
104+
if (throwable instanceof MongoException) {
105+
return Integer.toString(((MongoException) throwable).getCode());
106+
}
107+
return null;
108+
}
109+
100110
String sanitizeStatement(BsonDocument command) {
101111
StringBuilderWriter stringWriter = new StringBuilderWriter(128);
102112
// jsonWriterSettings is generally not null but could be due to security manager or unknown

instrumentation/r2dbc-1.0/library/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/internal/R2dbcSqlAttributesGetter.java

+10
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import static java.util.Collections.singleton;
99

1010
import io.opentelemetry.instrumentation.api.incubator.semconv.db.SqlClientAttributesGetter;
11+
import io.r2dbc.spi.R2dbcException;
1112
import java.util.Collection;
1213
import javax.annotation.Nullable;
1314

@@ -47,4 +48,13 @@ public String getConnectionString(DbExecution request) {
4748
public Collection<String> getRawQueryTexts(DbExecution request) {
4849
return singleton(request.getRawQueryText());
4950
}
51+
52+
@Nullable
53+
@Override
54+
public String getResponseStatusFromException(Throwable throwable) {
55+
if (throwable instanceof R2dbcException) {
56+
return ((R2dbcException) throwable).getSqlState();
57+
}
58+
return null;
59+
}
5060
}

0 commit comments

Comments
 (0)