protected void attachTraceInfo(Tracer tracer, Span span, final Request request) {
if (span == null) {
setHeader(request, Span.SAMPLED_NAME, Span.SPAN_NOT_SAMPLED);
return;
}
setHeader(request, TraceRequestAttributes.HANDLED_SPAN_REQUEST_ATTR, "true");
setHeader(request, Span.SPAN_ID_NAME, Span.idToHex(span.getSpanId()));
setHeader(request, Span.TRACE_ID_NAME, span.traceIdString());
setHeader(request, Span.SPAN_NAME_NAME, span.getName());
setHeader(request, Span.SAMPLED_NAME, span.isExportable() ?
Span.SPAN_SAMPLED : Span.SPAN_NOT_SAMPLED);
setHeader(request, Span.PARENT_ID_NAME,Span.idToHex(getParentId(span)));
setHeader(request, Span.PROCESS_ID_NAME, span.getProcessId());
if(span.getSavedSpan()!=null && span.getSavedSpan().tags()!=null){
for (Entry<String, String> stringStringEntry : span.getSavedSpan().tags().entrySet()) {
setHeader(request, stringStringEntry.getKey(), stringStringEntry.getValue());
}
}
}