{
byte[] sessionBytes = qm.message.parameters.get(Tracing.TRACE_HEADER);
if (sessionBytes != null)
{
UUID sessionId = UUIDGen.getUUID(ByteBuffer.wrap(sessionBytes));
TraceState state = Tracing.instance.get(sessionId);
String message = String.format("Sending message to %s", poolReference.endPoint());
// session may have already finished; see CASSANDRA-5668
if (state == null)
{
TraceState.trace(ByteBuffer.wrap(sessionBytes), message, -1);
}
else
{
state.trace(message);
if (qm.message.verb == MessagingService.Verb.REQUEST_RESPONSE)
Tracing.instance.doneWithNonLocalSession(state);
}
}