protected void ProcessEndSubsegment()

in sdk/src/Core/AWSXRayRecorderImpl.cs [796:824]


        protected void ProcessEndSubsegment(DateTime? timestamp = null)
        {
            var subsegment = PrepEndSubsegment();

            if (subsegment == null)
            {
                return;
            }

            if (timestamp == null)
            {
                subsegment.SetEndTimeToNow();
            }
            else
            {
                subsegment.SetEndTime(timestamp.Value);
            }

            // Check emittable
            if (subsegment.IsEmittable())
            {
                // Emit
                Emitter.Send(subsegment.RootSegment);
            }
            else if (StreamingStrategy.ShouldStream(subsegment))
            {
                StreamingStrategy.Stream(subsegment.RootSegment, Emitter);
            }
        }