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)
}
}