99
1010 "github.com/thanos-io/promql-engine/execution/telemetry"
1111 "github.com/thanos-io/promql-engine/warnings"
12- "github.com/thanos-io/promql-engine/query"
1312
1413 "github.com/prometheus/prometheus/model/histogram"
1514)
@@ -47,27 +46,20 @@ type GenericRingBuffer struct {
4746 selectRange int64
4847 extLookback int64
4948 call FunctionCall
50-
51- tracker * query.SampleTracker
5249}
5350
54- func New (ctx context.Context , size int , selectRange , offset int64 , call FunctionCall , opts * query. Options ) * GenericRingBuffer {
55- return NewWithExtLookback (ctx , size , selectRange , offset , 0 , call , opts )
51+ func New (ctx context.Context , size int , selectRange , offset int64 , call FunctionCall ) * GenericRingBuffer {
52+ return NewWithExtLookback (ctx , size , selectRange , offset , 0 , call )
5653}
5754
58- func NewWithExtLookback (ctx context.Context , size int , selectRange , offset , extLookback int64 , call FunctionCall , opts * query.Options ) * GenericRingBuffer {
59- var tracker * query.SampleTracker
60- if opts != nil {
61- tracker = opts .SampleTracker
62- }
55+ func NewWithExtLookback (ctx context.Context , size int , selectRange , offset , extLookback int64 , call FunctionCall ) * GenericRingBuffer {
6356 return & GenericRingBuffer {
6457 ctx : ctx ,
6558 items : make ([]Sample , 0 , size ),
6659 selectRange : selectRange ,
6760 offset : offset ,
6861 extLookback : extLookback ,
6962 call : call ,
70- tracker : tracker ,
7163 }
7264}
7365
@@ -118,35 +110,11 @@ func (r *GenericRingBuffer) Push(t int64, v Value) {
118110 } else {
119111 r .items [n ].V .H = nil
120112 }
121-
122- // Track samples added (count histogram buckets like Prometheus)
123- if r .tracker != nil {
124- samplesAdded := 1
125- if v .H != nil {
126- // Count histogram size in 16-byte units (same as Prometheus)
127- samplesAdded = (v .H .Size () + 8 ) / 16
128- }
129- if err := r .tracker .Add (samplesAdded ); err != nil {
130- panic (err )
131- }
132- }
133113}
134114
135115func (r * GenericRingBuffer ) Reset (mint int64 , evalt int64 ) {
136116 r .currentStep = evalt
137117 if r .extLookback == 0 && (len (r .items ) == 0 || r .items [len (r .items )- 1 ].T < mint ) {
138- // Track samples removed (count histogram sizes like Prometheus)
139- if r .tracker != nil && len (r .items ) > 0 {
140- samplesRemoved := 0
141- for _ , item := range r .items {
142- if item .V .H != nil {
143- samplesRemoved += (item .V .H .Size () + 8 ) / 16
144- } else {
145- samplesRemoved ++
146- }
147- }
148- r .tracker .Remove (samplesRemoved )
149- }
150118 r .items = r .items [:0 ]
151119 return
152120 }
@@ -157,19 +125,6 @@ func (r *GenericRingBuffer) Reset(mint int64, evalt int64) {
157125 drop --
158126 }
159127
160- // Track samples removed (count histogram sizes like Prometheus)
161- if r .tracker != nil && drop > 0 {
162- samplesRemoved := 0
163- for i := 0 ; i < drop ; i ++ {
164- if r .items [i ].V .H != nil {
165- samplesRemoved += (r .items [i ].V .H .Size () + 8 ) / 16
166- } else {
167- samplesRemoved ++
168- }
169- }
170- r .tracker .Remove (samplesRemoved )
171- }
172-
173128 keep := len (r .items ) - drop
174129 r .tail = resize (r .tail , drop )
175130 copy (r .tail , r .items [:drop ])
0 commit comments