mirror of
https://github.com/prometheus/prometheus.git
synced 2024-12-25 05:34:05 -08:00
[PERF] RW: Remove interning hook
It does nothing for standard Prometheus builds with -tags stringlabels, but the check to see if labels are being replaced has a cost. Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
This commit is contained in:
parent
6f1f0aa678
commit
fd4797d756
|
@ -957,13 +957,6 @@ func (t *QueueManager) Stop() {
|
|||
if t.mcfg.Send {
|
||||
t.metadataWatcher.Stop()
|
||||
}
|
||||
|
||||
// On shutdown, release the strings in the labels from the intern pool.
|
||||
t.seriesMtx.Lock()
|
||||
for _, labels := range t.seriesLabels {
|
||||
t.releaseLabels(labels)
|
||||
}
|
||||
t.seriesMtx.Unlock()
|
||||
t.metrics.unregister()
|
||||
}
|
||||
|
||||
|
@ -985,14 +978,6 @@ func (t *QueueManager) StoreSeries(series []record.RefSeries, index int) {
|
|||
continue
|
||||
}
|
||||
lbls := t.builder.Labels()
|
||||
t.internLabels(lbls)
|
||||
|
||||
// We should not ever be replacing a series labels in the map, but just
|
||||
// in case we do we need to ensure we do not leak the replaced interned
|
||||
// strings.
|
||||
if orig, ok := t.seriesLabels[s.Ref]; ok {
|
||||
t.releaseLabels(orig)
|
||||
}
|
||||
t.seriesLabels[s.Ref] = lbls
|
||||
}
|
||||
}
|
||||
|
@ -1037,7 +1022,6 @@ func (t *QueueManager) SeriesReset(index int) {
|
|||
for k, v := range t.seriesSegmentIndexes {
|
||||
if v < index {
|
||||
delete(t.seriesSegmentIndexes, k)
|
||||
t.releaseLabels(t.seriesLabels[k])
|
||||
delete(t.seriesLabels, k)
|
||||
delete(t.seriesMetadata, k)
|
||||
delete(t.droppedSeries, k)
|
||||
|
@ -1059,14 +1043,6 @@ func (t *QueueManager) client() WriteClient {
|
|||
return t.storeClient
|
||||
}
|
||||
|
||||
func (t *QueueManager) internLabels(lbls labels.Labels) {
|
||||
lbls.InternStrings(t.interner.intern)
|
||||
}
|
||||
|
||||
func (t *QueueManager) releaseLabels(ls labels.Labels) {
|
||||
ls.ReleaseStrings(t.interner.release)
|
||||
}
|
||||
|
||||
// processExternalLabels merges externalLabels into b. If b contains
|
||||
// a label in externalLabels, the value in b wins.
|
||||
func processExternalLabels(b *labels.Builder, externalLabels []labels.Label) {
|
||||
|
|
Loading…
Reference in a new issue