func()

in pkg/ringbuffer/ringbuffer.go [71:87]


func (r *RingBuffer) Send(s *tracesegment.TraceSegment) {
	select {
	case r.c <- s:
	default:
		var segmentTruncated *tracesegment.TraceSegment
		select {
		case segmentTruncated = <-r.c:
			r.count++
			r.pool.Return(segmentTruncated.PoolBuf)
			log.Warn("Segment buffer is full. Dropping oldest segment document.")
			telemetry.T.SegmentSpillover(1)
		default:
			log.Trace("Buffers: channel was de-queued")
		}
		r.Send(s)
	}
}