in xray/segment.go [178:204]
func basicSegment(name string, h *header.Header) *Segment {
if len(name) > 200 {
name = name[:200]
}
seg := &Segment{parent: nil}
logger.Debugf("Beginning segment named %s", name)
seg.ParentSegment = seg
seg.Lock()
defer seg.Unlock()
seg.Name = name
seg.StartTime = float64(time.Now().UnixNano()) / float64(time.Second)
seg.InProgress = true
seg.Dummy = false
if h == nil {
seg.Sampled = true
} else {
seg.Facade = true
seg.ID = h.ParentID
seg.TraceID = h.TraceID
seg.Sampled = h.SamplingDecision == header.Sampled
}
return seg
}