Skip to content

Commit 39e461d

Browse files
committed
consolidate
1 parent 70dc013 commit 39e461d

File tree

15 files changed

+85
-121
lines changed

15 files changed

+85
-121
lines changed

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

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import io.opentelemetry.instrumentation.api.internal.SemconvStability;
1515
import io.opentelemetry.instrumentation.api.internal.SpanKey;
1616
import io.opentelemetry.instrumentation.api.internal.SpanKeyProvider;
17+
import io.opentelemetry.instrumentation.api.semconv.network.internal.InternalNetworkAttributesExtractor;
1718
import javax.annotation.Nullable;
1819

1920
/**
@@ -41,16 +42,20 @@ public final class DbClientAttributesExtractor<REQUEST, RESPONSE>
4142
private static final AttributeKey<String> DB_OPERATION_NAME =
4243
AttributeKey.stringKey("db.operation.name");
4344

44-
private final DbClientAttributesGetter<REQUEST, Void> getter;
45+
private final DbClientAttributesGetter<REQUEST, RESPONSE> getter;
46+
private final InternalNetworkAttributesExtractor<REQUEST, RESPONSE> internalNetworkExtractor;
4547

4648
/** Creates the database client attributes extractor with default configuration. */
4749
public static <REQUEST, RESPONSE> AttributesExtractor<REQUEST, RESPONSE> create(
48-
DbClientAttributesGetter<REQUEST, Void> getter) {
50+
DbClientAttributesGetter<REQUEST, RESPONSE> getter) {
4951
return new DbClientAttributesExtractor<>(getter);
5052
}
5153

52-
DbClientAttributesExtractor(DbClientAttributesGetter<REQUEST, Void> getter) {
54+
DbClientAttributesExtractor(DbClientAttributesGetter<REQUEST, RESPONSE> getter) {
5355
this.getter = getter;
56+
internalNetworkExtractor =
57+
new InternalNetworkAttributesExtractor<>(
58+
getter, SemconvStability.emitOldDatabaseSemconv(), false);
5459
}
5560

5661
@Override
@@ -77,7 +82,9 @@ public void onEnd(
7782
Context context,
7883
REQUEST request,
7984
@Nullable RESPONSE response,
80-
@Nullable Throwable error) {}
85+
@Nullable Throwable error) {
86+
internalNetworkExtractor.onEnd(attributes, request, response);
87+
}
8188

8289
/**
8390
* This method is internal and is hence not for public use. Its API is unstable and can change at

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
package io.opentelemetry.instrumentation.api.incubator.semconv.db;
77

8+
import io.opentelemetry.instrumentation.api.semconv.network.NetworkAttributesGetter;
89
import javax.annotation.Nullable;
910

1011
/**
@@ -18,7 +19,8 @@
1819
* from the attribute methods, but implement as many as possible for best compliance with the
1920
* OpenTelemetry specification.
2021
*/
21-
public interface DbClientAttributesGetter<REQUEST, RESPONSE> {
22+
public interface DbClientAttributesGetter<REQUEST, RESPONSE>
23+
extends NetworkAttributesGetter<REQUEST, RESPONSE> {
2224

2325
@Deprecated
2426
@Nullable

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public static <REQUEST> SpanNameExtractor<REQUEST> create(
3232
* procedure name.
3333
*/
3434
public static <REQUEST> SpanNameExtractor<REQUEST> create(
35-
SqlClientAttributesGetter<REQUEST> getter) {
35+
SqlClientAttributesGetter<REQUEST, ?> getter) {
3636
return new SqlClientSpanNameExtractor<>(getter);
3737
}
3838

@@ -85,9 +85,9 @@ private static final class SqlClientSpanNameExtractor<REQUEST>
8585
// a dedicated sanitizer just for extracting the operation and identifier name
8686
private static final SqlStatementSanitizer sanitizer = SqlStatementSanitizer.create(true);
8787

88-
private final SqlClientAttributesGetter<REQUEST> getter;
88+
private final SqlClientAttributesGetter<REQUEST, ?> getter;
8989

90-
private SqlClientSpanNameExtractor(SqlClientAttributesGetter<REQUEST> getter) {
90+
private SqlClientSpanNameExtractor(SqlClientAttributesGetter<REQUEST, ?> getter) {
9191
this.getter = getter;
9292
}
9393

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public final class SqlClientAttributesExtractor<REQUEST, RESPONSE>
4040

4141
/** Creates the SQL client attributes extractor with default configuration. */
4242
public static <REQUEST, RESPONSE> AttributesExtractor<REQUEST, RESPONSE> create(
43-
SqlClientAttributesGetter<REQUEST> getter) {
43+
SqlClientAttributesGetter<REQUEST, RESPONSE> getter) {
4444
return SqlClientAttributesExtractor.<REQUEST, RESPONSE>builder(getter).build();
4545
}
4646

@@ -49,7 +49,7 @@ public static <REQUEST, RESPONSE> AttributesExtractor<REQUEST, RESPONSE> create(
4949
* client attributes extractor.
5050
*/
5151
public static <REQUEST, RESPONSE> SqlClientAttributesExtractorBuilder<REQUEST, RESPONSE> builder(
52-
SqlClientAttributesGetter<REQUEST> getter) {
52+
SqlClientAttributesGetter<REQUEST, RESPONSE> getter) {
5353
return new SqlClientAttributesExtractorBuilder<>(getter);
5454
}
5555

@@ -61,10 +61,10 @@ public static <REQUEST, RESPONSE> SqlClientAttributesExtractorBuilder<REQUEST, R
6161
private final boolean statementSanitizationEnabled;
6262

6363
private final AttributesExtractor<REQUEST, RESPONSE> delegate;
64-
private final SqlClientAttributesGetter<REQUEST> getter;
64+
private final SqlClientAttributesGetter<REQUEST, RESPONSE> getter;
6565

6666
SqlClientAttributesExtractor(
67-
SqlClientAttributesGetter<REQUEST> getter,
67+
SqlClientAttributesGetter<REQUEST, RESPONSE> getter,
6868
AttributeKey<String> oldSemconvTableAttribute,
6969
boolean statementSanitizationEnabled) {
7070
this.delegate = DbClientAttributesExtractor.create(getter);

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ public final class SqlClientAttributesExtractorBuilder<REQUEST, RESPONSE> {
1717
// copied from DbIncubatingAttributes
1818
private static final AttributeKey<String> DB_SQL_TABLE = AttributeKey.stringKey("db.sql.table");
1919

20-
final SqlClientAttributesGetter<REQUEST> getter;
20+
final SqlClientAttributesGetter<REQUEST, RESPONSE> getter;
2121
AttributeKey<String> oldSemconvTableAttribute = DB_SQL_TABLE;
2222
boolean statementSanitizationEnabled = true;
2323

24-
SqlClientAttributesExtractorBuilder(SqlClientAttributesGetter<REQUEST> getter) {
24+
SqlClientAttributesExtractorBuilder(SqlClientAttributesGetter<REQUEST, RESPONSE> getter) {
2525
this.getter = getter;
2626
}
2727

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
* from the attribute methods, but implement as many as possible for best compliance with the
1919
* OpenTelemetry specification.
2020
*/
21-
public interface SqlClientAttributesGetter<REQUEST>
22-
extends DbClientAttributesGetter<REQUEST, Void> {
21+
public interface SqlClientAttributesGetter<REQUEST, RESPONSE>
22+
extends DbClientAttributesGetter<REQUEST, RESPONSE> {
2323

2424
/**
2525
* Get the raw SQL statement. The value returned by this method is later sanitized by the {@link

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

Lines changed: 0 additions & 22 deletions
This file was deleted.

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import io.opentelemetry.instrumentation.api.incubator.semconv.db.SqlClientAttributesExtractor;
1212
import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
1313
import io.opentelemetry.instrumentation.api.instrumenter.SpanKindExtractor;
14-
import io.opentelemetry.instrumentation.api.semconv.network.NetworkAttributesExtractor;
1514
import io.opentelemetry.javaagent.bootstrap.internal.AgentCommonConfig;
1615
import io.opentelemetry.semconv.incubating.DbIncubatingAttributes;
1716

@@ -37,8 +36,6 @@ public final class CassandraSingletons {
3736
.setStatementSanitizationEnabled(
3837
AgentCommonConfig.get().isStatementSanitizationEnabled())
3938
.build())
40-
.addAttributesExtractor(
41-
NetworkAttributesExtractor.create(new CassandraNetworkAttributesGetter()))
4239
.addAttributesExtractor(new CassandraAttributesExtractor())
4340
.buildInstrumenter(SpanKindExtractor.alwaysClient());
4441
}

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

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,14 @@
55

66
package io.opentelemetry.javaagent.instrumentation.cassandra.v3_0;
77

8+
import com.datastax.driver.core.ExecutionInfo;
89
import io.opentelemetry.instrumentation.api.incubator.semconv.db.SqlClientAttributesGetter;
910
import io.opentelemetry.semconv.incubating.DbIncubatingAttributes;
11+
import java.net.InetSocketAddress;
1012
import javax.annotation.Nullable;
1113

12-
final class CassandraSqlAttributesGetter implements SqlClientAttributesGetter<CassandraRequest> {
14+
final class CassandraSqlAttributesGetter
15+
implements SqlClientAttributesGetter<CassandraRequest, ExecutionInfo> {
1316

1417
@Override
1518
public String getDbSystem(CassandraRequest request) {
@@ -41,4 +44,11 @@ public String getConnectionString(CassandraRequest request) {
4144
public String getRawQueryText(CassandraRequest request) {
4245
return request.getQueryText();
4346
}
47+
48+
@Override
49+
@Nullable
50+
public InetSocketAddress getNetworkPeerInetSocketAddress(
51+
CassandraRequest request, @Nullable ExecutionInfo executionInfo) {
52+
return executionInfo == null ? null : executionInfo.getQueriedHost().getSocketAddress();
53+
}
4454
}

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

Lines changed: 0 additions & 34 deletions
This file was deleted.

0 commit comments

Comments
 (0)