Skip to content

Commit fcb763c

Browse files
committed
context_info as bytes array
1 parent 7c8a954 commit fcb763c

File tree

1 file changed

+8
-6
lines changed
  • dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc

1 file changed

+8
-6
lines changed

dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/JDBCDecorator.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import datadog.trace.bootstrap.instrumentation.jdbc.DBInfo;
2020
import datadog.trace.bootstrap.instrumentation.jdbc.DBQueryInfo;
2121
import datadog.trace.bootstrap.instrumentation.jdbc.JDBCConnectionUrlParser;
22+
import java.io.ByteArrayOutputStream;
2223
import java.sql.Connection;
2324
import java.sql.DatabaseMetaData;
2425
import java.sql.PreparedStatement;
@@ -277,15 +278,16 @@ public long setContextInfo(Connection connection, DBInfo dbInfo) {
277278
PreparedStatement instrumentationStatement = null;
278279
try (AgentScope scope = activateSpan(instrumentationSpan)) {
279280
String samplingDecision = instrumentationSpan.forceSamplingDecision() > 0 ? "1" : "0";
280-
String contextInfo =
281-
VERSION
282-
+ samplingDecision
283-
+ DDSpanId.toHexStringPadded(spanID)
284-
+ instrumentationSpan.getTraceId().toHexString();
281+
282+
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
283+
outputStream.write(hexStringToByteArray(VERSION + samplingDecision));
284+
outputStream.write(hexStringToByteArray(DDSpanId.toHexStringPadded(spanID)));
285+
outputStream.write(hexStringToByteArray(instrumentationSpan.getTraceId().toHexString()));
286+
final byte[] contextInfo = outputStream.toByteArray();
285287

286288
String instrumentationSql = "set context_info ?";
287289
instrumentationStatement = connection.prepareStatement(instrumentationSql);
288-
instrumentationStatement.setBytes(1, hexStringToByteArray(contextInfo));
290+
instrumentationStatement.setBytes(1, contextInfo);
289291
DECORATE.onStatement(instrumentationSpan, instrumentationSql);
290292
instrumentationStatement.execute();
291293
} catch (Exception e) {

0 commit comments

Comments
 (0)