Skip to content

Commit 4b2ecec

Browse files
authored
Use names specified by OpenTelemetry for tags (#1468)
* Use names specified by OpenTelemetry for tags See eclipse-vertx/vertx-tracing#69 Signed-off-by: Thomas Segismont <[email protected]> * Prevent failures in MySQLUnixDomainSocketTest Like: 2024-09-26T14:00:19.4493986Z [ERROR] io.vertx.mysqlclient.MySQLUnixDomainSocketTest.connectWithVertxInstance -- Time elapsed: 0.016 s <<< ERROR! 2024-09-26T14:00:19.4496437Z java.util.concurrent.RejectedExecutionException: event executor terminated 2024-09-26T14:00:19.4500928Z at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:1056) Signed-off-by: Thomas Segismont <[email protected]> --------- Signed-off-by: Thomas Segismont <[email protected]>
1 parent ab4e9d8 commit 4b2ecec

File tree

3 files changed

+14
-19
lines changed

3 files changed

+14
-19
lines changed

vertx-mysql-client/src/test/java/io/vertx/mysqlclient/MySQLUnixDomainSocketTest.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,9 @@ public void setUp() {
5252
}
5353

5454
@After
55-
public void after(TestContext ctx) {
56-
if (vertx != null) {
57-
vertx.close().onComplete(ctx.asyncAssertSuccess());
58-
}
59-
if (client != null) {
60-
client.close().onComplete(ctx.asyncAssertSuccess());
61-
}
55+
public void after() {
56+
client.close().await();
57+
vertx.close().await();
6258
}
6359

6460
@Test

vertx-sql-client/src/main/java/io/vertx/sqlclient/impl/tracing/QueryReporter.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
package io.vertx.sqlclient.impl.tracing;
22

33
import io.vertx.core.AsyncResult;
4+
import io.vertx.core.internal.ContextInternal;
45
import io.vertx.core.spi.metrics.ClientMetrics;
56
import io.vertx.core.spi.tracing.SpanKind;
67
import io.vertx.core.spi.tracing.TagExtractor;
78
import io.vertx.core.spi.tracing.VertxTracer;
89
import io.vertx.core.tracing.TracingPolicy;
9-
import io.vertx.core.internal.ContextInternal;
1010
import io.vertx.sqlclient.Tuple;
11-
import io.vertx.sqlclient.internal.Connection;
1211
import io.vertx.sqlclient.impl.QueryResultBuilder;
12+
import io.vertx.sqlclient.internal.Connection;
1313
import io.vertx.sqlclient.internal.command.ExtendedQueryCommand;
1414
import io.vertx.sqlclient.internal.command.QueryCommandBase;
1515
import io.vertx.sqlclient.internal.command.SimpleQueryCommand;
@@ -26,17 +26,16 @@ public class QueryReporter {
2626
enum RequestTags {
2727

2828
// Generic
29-
PEER_ADDRESS("peer.address", q -> q.tracer.address),
29+
PEER_ADDRESS("network.peer.address", q -> q.tracer.address),
3030
SPAN_KIND("span.kind", q -> "client"),
3131

3232
// DB
33-
// See https://github.com/open-telemetry/opentelemetry-specification/blob/v1.18.0/specification/trace/semantic_conventions/database.md#connection-level-attributes
33+
// See https://opentelemetry.io/docs/specs/semconv/database/
3434

3535
DB_USER("db.user", q -> q.tracer.user),
36-
DB_INSTANCE("db.instance", q -> q.tracer.database),
37-
DB_STATEMENT("db.statement", QueryRequest::sql),
38-
DB_TYPE("db.type", q -> "sql"),
39-
DB_NAME("db.system", q -> q.tracer.system),
36+
DB_NAMESPACE("db.namespace", q -> q.tracer.database),
37+
DB_QUERY_TEXT("db.query.text", QueryRequest::sql),
38+
DB_SYSTEM("db.system", q -> q.tracer.system),
4039
;
4140

4241
final String name;
@@ -48,18 +47,20 @@ enum RequestTags {
4847
}
4948
}
5049

51-
private static final TagExtractor<QueryRequest> REQUEST_TAG_EXTRACTOR = new TagExtractor<QueryRequest>() {
50+
private static final TagExtractor<QueryRequest> REQUEST_TAG_EXTRACTOR = new TagExtractor<>() {
5251

5352
private final RequestTags[] TAGS = RequestTags.values();
5453

5554
@Override
5655
public int len(QueryRequest obj) {
5756
return TAGS.length;
5857
}
58+
5959
@Override
6060
public String name(QueryRequest obj, int index) {
6161
return TAGS[index].name;
6262
}
63+
6364
@Override
6465
public String value(QueryRequest obj, int index) {
6566
return TAGS[index].fn.apply(obj);

vertx-sql-client/src/test/java/io/vertx/sqlclient/tck/TracingTestBase.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import io.vertx.core.Context;
1515
import io.vertx.core.Future;
1616
import io.vertx.core.Vertx;
17-
import io.vertx.core.VertxOptions;
1817
import io.vertx.core.spi.tracing.SpanKind;
1918
import io.vertx.core.spi.tracing.TagExtractor;
2019
import io.vertx.core.spi.tracing.VertxTracer;
@@ -124,8 +123,7 @@ public <R> Object sendRequest(Context context, SpanKind kind, TracingPolicy trac
124123
ctx.assertEquals(expectedTuples, query.tuples());
125124
Map<String, String> tags = tagExtractor.extract(request);
126125
ctx.assertEquals("client", tags.get("span.kind"));
127-
ctx.assertEquals("sql", tags.get("db.type"));
128-
ctx.assertEquals(expectedSql, tags.get("db.statement"));
126+
ctx.assertEquals(expectedSql, tags.get("db.query.text"));
129127
String dbSystem = tags.get("db.system");
130128
ctx.assertNotNull(dbSystem);
131129
ctx.assertTrue(isValidDbSystem(dbSystem));

0 commit comments

Comments
 (0)