in xray/handler.go [147:170]
func generateTraceIDHeaderValue(seg *Segment, traceHeader *header.Header) string {
seg.Lock()
defer seg.Unlock()
var respHeader bytes.Buffer
respHeader.WriteString("Root=")
respHeader.WriteString(seg.TraceID)
if traceHeader.ParentID != "" {
respHeader.WriteString(";Parent=")
respHeader.WriteString(traceHeader.ParentID)
}
if traceHeader.SamplingDecision == header.NotSampled {
respHeader.WriteString(";Sampled=0")
} else if traceHeader.SamplingDecision == header.Sampled {
respHeader.WriteString(";Sampled=1")
} else if traceHeader.SamplingDecision == header.Requested {
respHeader.WriteString(";Sampled=")
respHeader.WriteString(strconv.Itoa(btoi(seg.Sampled)))
}
return respHeader.String()
}