app/vmselect/promql/aggr_incremental.go: eliminate unnecessary memory allocation in incrementalAggrFuncContext.updateTimeseries

This commit is contained in:
Aliaksandr Valialkin 2024-01-23 01:45:15 +02:00
parent 953b96ced2
commit b7cc1af3eb
No known key found for this signature in database
GPG key ID: 52C003EE2BCDB9EB

View file

@ -111,8 +111,8 @@ func (iafc *incrementalAggrFuncContext) updateTimeseries(tsOrig *timeseries, wor
removeGroupTags(&ts.MetricName, &iafc.ae.Modifier) removeGroupTags(&ts.MetricName, &iafc.ae.Modifier)
bb := bbPool.Get() bb := bbPool.Get()
bb.B = marshalMetricNameSorted(bb.B[:0], &ts.MetricName) bb.B = marshalMetricNameSorted(bb.B[:0], &ts.MetricName)
k := string(bb.B) k := bb.B
iac := m[k] iac := m[string(k)]
if iac == nil { if iac == nil {
if iafc.ae.Limit > 0 && len(m) >= iafc.ae.Limit { if iafc.ae.Limit > 0 && len(m) >= iafc.ae.Limit {
// Skip this time series, since the limit on the number of output time series has been already reached. // Skip this time series, since the limit on the number of output time series has been already reached.
@ -131,7 +131,7 @@ func (iafc *incrementalAggrFuncContext) updateTimeseries(tsOrig *timeseries, wor
ts: tsAggr, ts: tsAggr,
values: make([]float64, len(ts.Values)), values: make([]float64, len(ts.Values)),
} }
m[k] = iac m[string(k)] = iac
} }
bbPool.Put(bb) bbPool.Put(bb)
iafc.callbacks.updateAggrFunc(iac, ts.Values) iafc.callbacks.updateAggrFunc(iac, ts.Values)