in xray/segment_model.go [134:155]
func (s *Segment) DownstreamHeader() *header.Header {
r := &header.Header{}
// If SDK is disabled then return with an empty header
if SdkDisabled() {
return r
}
if parent := s.ParentSegment.IncomingHeader; parent != nil {
*r = *parent // copy parent incoming header
}
if r.TraceID == "" {
r.TraceID = s.ParentSegment.TraceID
}
if s.ParentSegment.Sampled {
r.SamplingDecision = header.Sampled
} else {
r.SamplingDecision = header.NotSampled
}
r.ParentID = s.ID
return r
}