public void Stream()

in sdk/src/Core/Strategies/DefaultStreamingStrategy.cs [59:83]


        public void Stream(Entity entity, ISegmentEmitter emitter)
        {
            lock (entity.Subsegments)
            {
                foreach (var next in entity.Subsegments)
                {
                    Stream(next, emitter);
                }

                entity.Subsegments.RemoveAll(x => x.HasStreamed);
            }

            if (entity.Sampled != SampleDecision.Sampled || entity is Segment || entity.IsInProgress || entity.Reference > 0 || entity.IsSubsegmentsAdded)
            {
                return;
            }

            Subsegment subsegment = entity as Subsegment;
            subsegment.TraceId = entity.RootSegment.TraceId;
            subsegment.Type = "subsegment";
            subsegment.ParentId = subsegment.Parent.Id;
            emitter.Send(subsegment);
            subsegment.RootSegment.DecrementSize();
            subsegment.HasStreamed = true;
        }