Browse Source

Avoid copy during remote write if external labels is empty

Signed-off-by: Xiaochao Dong (@damnever) <the.xcdong@gmail.com>
pull/11787/head
Xiaochao Dong (@damnever) 2 years ago
parent
commit
2d61d012ff
  1. 4
      storage/remote/queue_manager.go

4
storage/remote/queue_manager.go

@ -847,6 +847,10 @@ func (t *QueueManager) releaseLabels(ls labels.Labels) {
// processExternalLabels merges externalLabels into ls. If ls contains // processExternalLabels merges externalLabels into ls. If ls contains
// a label in externalLabels, the value in ls wins. // a label in externalLabels, the value in ls wins.
func processExternalLabels(ls labels.Labels, externalLabels []labels.Label) labels.Labels { func processExternalLabels(ls labels.Labels, externalLabels []labels.Label) labels.Labels {
if len(externalLabels) == 0 {
return ls
}
b := labels.NewScratchBuilder(ls.Len() + len(externalLabels)) b := labels.NewScratchBuilder(ls.Len() + len(externalLabels))
j := 0 j := 0
ls.Range(func(l labels.Label) { ls.Range(func(l labels.Label) {

Loading…
Cancel
Save