Skip to content

Commit d1b9596

Browse files
committed
error.type and db.response.status_code for jdbc
1 parent 01c5504 commit d1b9596

File tree

9 files changed

+46
-8
lines changed

9 files changed

+46
-8
lines changed

instrumentation/cassandra/cassandra-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v3_0/CassandraSqlAttributesGetter.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@
77

88
import static java.util.Collections.singleton;
99

10+
import com.datastax.driver.core.ExecutionInfo;
1011
import io.opentelemetry.instrumentation.api.incubator.semconv.db.SqlClientAttributesGetter;
1112
import io.opentelemetry.semconv.incubating.DbIncubatingAttributes;
1213
import java.util.Collection;
1314
import javax.annotation.Nullable;
1415

1516
final class CassandraSqlAttributesGetter
16-
implements SqlClientAttributesGetter<CassandraRequest, Void> {
17+
implements SqlClientAttributesGetter<CassandraRequest, ExecutionInfo> {
1718

1819
@SuppressWarnings("deprecation") // using deprecated DbSystemIncubatingValues
1920
@Override

instrumentation/cassandra/cassandra-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_0/CassandraSqlAttributesGetter.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,14 @@
88
import static java.util.Collections.singleton;
99

1010
import com.datastax.oss.driver.api.core.CqlIdentifier;
11+
import com.datastax.oss.driver.api.core.cql.ExecutionInfo;
1112
import io.opentelemetry.instrumentation.api.incubator.semconv.db.SqlClientAttributesGetter;
1213
import io.opentelemetry.semconv.incubating.DbIncubatingAttributes;
1314
import java.util.Collection;
1415
import javax.annotation.Nullable;
1516

1617
final class CassandraSqlAttributesGetter
17-
implements SqlClientAttributesGetter<CassandraRequest, Void> {
18+
implements SqlClientAttributesGetter<CassandraRequest, ExecutionInfo> {
1819

1920
@SuppressWarnings("deprecation") // using deprecated DbSystemIncubatingValues
2021
@Override

instrumentation/cassandra/cassandra-4.4/library/src/main/java/io/opentelemetry/instrumentation/cassandra/v4_4/CassandraSqlAttributesGetter.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@
88
import static java.util.Collections.singleton;
99

1010
import com.datastax.oss.driver.api.core.CqlIdentifier;
11+
import com.datastax.oss.driver.api.core.cql.ExecutionInfo;
1112
import io.opentelemetry.instrumentation.api.incubator.semconv.db.SqlClientAttributesGetter;
1213
import java.util.Collection;
1314
import javax.annotation.Nullable;
1415

1516
final class CassandraSqlAttributesGetter
16-
implements SqlClientAttributesGetter<CassandraRequest, Void> {
17+
implements SqlClientAttributesGetter<CassandraRequest, ExecutionInfo> {
1718
// copied from DbIncubatingAttributes.DbSystemIncubatingValues
1819
private static final String CASSANDRA = "cassandra";
1920

instrumentation/clickhouse-client-0.5/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/clickhouse/ClickHouseAttributesGetter.java

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

66
package io.opentelemetry.javaagent.instrumentation.clickhouse;
77

8+
import com.clickhouse.client.ClickHouseException;
89
import io.opentelemetry.instrumentation.api.incubator.semconv.db.DbClientAttributesGetter;
910
import io.opentelemetry.semconv.incubating.DbIncubatingAttributes;
1011
import javax.annotation.Nullable;
@@ -59,4 +60,13 @@ public String getDbNamespace(ClickHouseDbRequest request) {
5960
public String getConnectionString(ClickHouseDbRequest request) {
6061
return null;
6162
}
63+
64+
@Nullable
65+
@Override
66+
public String getResponseStatusFromException(Throwable throwable) {
67+
if (throwable instanceof ClickHouseException) {
68+
return Integer.toString(((ClickHouseException) throwable).getErrorCode());
69+
}
70+
return null;
71+
}
6272
}

instrumentation/couchbase/couchbase-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseAttributesGetter.java

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

66
package io.opentelemetry.javaagent.instrumentation.couchbase.v2_0;
77

8+
import com.couchbase.client.core.CouchbaseException;
89
import io.opentelemetry.instrumentation.api.incubator.semconv.db.DbClientAttributesGetter;
910
import io.opentelemetry.semconv.incubating.DbIncubatingAttributes;
1011
import javax.annotation.Nullable;
@@ -49,4 +50,22 @@ public String getDbQueryText(CouchbaseRequestInfo couchbaseRequest) {
4950
public String getDbOperationName(CouchbaseRequestInfo couchbaseRequest) {
5051
return couchbaseRequest.operation();
5152
}
53+
54+
@Nullable
55+
@Override
56+
public String getResponseStatusFromException(Throwable throwable) {
57+
if (throwable instanceof CouchbaseException) {
58+
// ResponseStatusDetails details = ((CouchbaseException) throwable).details();
59+
// in newer versions of the SDK, this is available as a method on the exception
60+
// check if it's available and contains the status
61+
// @InterfaceAudience.Public
62+
// @InterfaceStability.Experimental
63+
// public ResponseStatusDetails details() {
64+
// return this.responseStatusDetails;
65+
// }
66+
// throwable.
67+
// return throwable.getClass().getSimpleName();
68+
}
69+
return null;
70+
}
5271
}

instrumentation/elasticsearch/elasticsearch-transport-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/ElasticsearchTransportAttributesGetter.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
import io.opentelemetry.instrumentation.api.incubator.semconv.db.DbClientAttributesGetter;
99
import io.opentelemetry.semconv.incubating.DbIncubatingAttributes;
1010
import javax.annotation.Nullable;
11-
import org.elasticsearch.client.Response;
11+
import org.elasticsearch.action.ActionResponse;
1212

1313
final class ElasticsearchTransportAttributesGetter
14-
implements DbClientAttributesGetter<ElasticTransportRequest, Response> {
14+
implements DbClientAttributesGetter<ElasticTransportRequest, ActionResponse> {
1515

1616
@SuppressWarnings("deprecation") // using deprecated DbSystemIncubatingValues
1717
@Override

instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/JdbcAttributesGetter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public Long getBatchSize(DbRequest request) {
5757
@Override
5858
public String getResponseStatusFromException(Throwable throwable) {
5959
if (throwable instanceof SQLException) {
60-
return String.valueOf(((SQLException) throwable).getErrorCode());
60+
return Integer.toString(((SQLException) throwable).getErrorCode());
6161
}
6262
return null;
6363
}

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

+7-1
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@
88
import io.opentelemetry.instrumentation.api.incubator.semconv.db.DbClientAttributesGetter;
99
import io.opentelemetry.semconv.incubating.DbIncubatingAttributes;
1010
import javax.annotation.Nullable;
11+
import org.opensearch.client.Response;
1112

1213
final class OpenSearchRestAttributesGetter
13-
implements DbClientAttributesGetter<OpenSearchRestRequest, Void> {
14+
implements DbClientAttributesGetter<OpenSearchRestRequest, Response> {
1415

1516
@SuppressWarnings("deprecation") // using deprecated DbSystemIncubatingValues
1617
@Override
@@ -49,4 +50,9 @@ public String getDbQueryText(OpenSearchRestRequest request) {
4950
public String getDbOperationName(OpenSearchRestRequest request) {
5051
return request.getMethod();
5152
}
53+
54+
@Override
55+
public String getResponseStatus(Response response) {
56+
return String.valueOf(response.getStatusLine().getStatusCode());
57+
}
5258
}

instrumentation/spymemcached-2.12/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spymemcached/SpymemcachedAttributesGetter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import javax.annotation.Nullable;
1010

1111
public class SpymemcachedAttributesGetter
12-
implements DbClientAttributesGetter<SpymemcachedRequest, Void> {
12+
implements DbClientAttributesGetter<SpymemcachedRequest, Object> {
1313

1414
@Override
1515
public String getDbSystem(SpymemcachedRequest spymemcachedRequest) {

0 commit comments

Comments
 (0)