app/vminsert: do not call ApplyRelabeling function if relabeling is disabled

This should reduce CPU usage a bit when `-relabelConfig` isn't set
This commit is contained in:
Aliaksandr Valialkin 2020-07-23 13:33:10 +03:00
parent c91ccce50c
commit 49a0011837
7 changed files with 35 additions and 7 deletions

View file

@ -4,6 +4,7 @@ import (
"net/http"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vminsert/netstorage"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vminsert/relabel"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/auth"
parser "github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/csvimport"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/tenantmetrics"
@ -30,6 +31,7 @@ func insertRows(at *auth.Token, rows []parser.Row) error {
defer netstorage.PutInsertCtx(ctx)
ctx.Reset() // This line is required for initializing ctx internals.
hasRelabeling := relabel.HasRelabeling()
for i := range rows {
r := &rows[i]
ctx.Labels = ctx.Labels[:0]
@ -38,7 +40,9 @@ func insertRows(at *auth.Token, rows []parser.Row) error {
tag := &r.Tags[j]
ctx.AddLabel(tag.Key, tag.Value)
}
ctx.ApplyRelabeling()
if hasRelabeling {
ctx.ApplyRelabeling()
}
if len(ctx.Labels) == 0 {
// Skip metric without labels.
continue

View file

@ -4,6 +4,7 @@ import (
"io"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vminsert/netstorage"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vminsert/relabel"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/auth"
parser "github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/graphite"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/tenantmetrics"
@ -34,6 +35,7 @@ func insertRows(at *auth.Token, rows []parser.Row) error {
ctx.Reset() // This line is required for initializing ctx internals.
atCopy := *at
hasRelabeling := relabel.HasRelabeling()
for i := range rows {
r := &rows[i]
ctx.Labels = ctx.Labels[:0]
@ -52,7 +54,9 @@ func insertRows(at *auth.Token, rows []parser.Row) error {
}
ctx.AddLabel(tag.Key, tag.Value)
}
ctx.ApplyRelabeling()
if hasRelabeling {
ctx.ApplyRelabeling()
}
if len(ctx.Labels) == 0 {
// Skip metric without labels.
continue

View file

@ -4,6 +4,7 @@ import (
"io"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vminsert/netstorage"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vminsert/relabel"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/auth"
parser "github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/opentsdb"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/tenantmetrics"
@ -34,6 +35,7 @@ func insertRows(at *auth.Token, rows []parser.Row) error {
ctx.Reset() // This line is required for initializing ctx internals.
atCopy := *at
hasRelabeling := relabel.HasRelabeling()
for i := range rows {
r := &rows[i]
ctx.Labels = ctx.Labels[:0]
@ -52,7 +54,9 @@ func insertRows(at *auth.Token, rows []parser.Row) error {
}
ctx.AddLabel(tag.Key, tag.Value)
}
ctx.ApplyRelabeling()
if hasRelabeling {
ctx.ApplyRelabeling()
}
if len(ctx.Labels) == 0 {
// Skip metric without labels.
continue

View file

@ -5,6 +5,7 @@ import (
"net/http"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vminsert/netstorage"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vminsert/relabel"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/auth"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/httpserver"
parser "github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/opentsdbhttp"
@ -51,6 +52,7 @@ func insertRows(at *auth.Token, rows []parser.Row) error {
defer netstorage.PutInsertCtx(ctx)
ctx.Reset() // This line is required for initializing ctx internals.
hasRelabeling := relabel.HasRelabeling()
for i := range rows {
r := &rows[i]
ctx.Labels = ctx.Labels[:0]
@ -59,7 +61,9 @@ func insertRows(at *auth.Token, rows []parser.Row) error {
tag := &r.Tags[j]
ctx.AddLabel(tag.Key, tag.Value)
}
ctx.ApplyRelabeling()
if hasRelabeling {
ctx.ApplyRelabeling()
}
if len(ctx.Labels) == 0 {
// Skip metric without labels.
continue

View file

@ -4,6 +4,7 @@ import (
"net/http"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vminsert/netstorage"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vminsert/relabel"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/auth"
parser "github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/prometheus"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/tenantmetrics"
@ -31,6 +32,7 @@ func insertRows(at *auth.Token, rows []parser.Row) error {
defer netstorage.PutInsertCtx(ctx)
ctx.Reset() // This line is required for initializing ctx internals.
hasRelabeling := relabel.HasRelabeling()
for i := range rows {
r := &rows[i]
ctx.Labels = ctx.Labels[:0]
@ -39,7 +41,9 @@ func insertRows(at *auth.Token, rows []parser.Row) error {
tag := &r.Tags[j]
ctx.AddLabel(tag.Key, tag.Value)
}
ctx.ApplyRelabeling()
if hasRelabeling {
ctx.ApplyRelabeling()
}
if len(ctx.Labels) == 0 {
// Skip metric without labels.
continue

View file

@ -4,6 +4,7 @@ import (
"net/http"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vminsert/netstorage"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vminsert/relabel"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/auth"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/prompb"
parser "github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/promremotewrite"
@ -33,6 +34,7 @@ func insertRows(at *auth.Token, timeseries []prompb.TimeSeries) error {
ctx.Reset() // This line is required for initializing ctx internals.
rowsTotal := 0
hasRelabeling := relabel.HasRelabeling()
for i := range timeseries {
ts := &timeseries[i]
ctx.Labels = ctx.Labels[:0]
@ -40,7 +42,9 @@ func insertRows(at *auth.Token, timeseries []prompb.TimeSeries) error {
for _, srcLabel := range srcLabels {
ctx.AddLabelBytes(srcLabel.Name, srcLabel.Value)
}
ctx.ApplyRelabeling()
if hasRelabeling {
ctx.ApplyRelabeling()
}
if len(ctx.Labels) == 0 {
// Skip metric without labels.
continue

View file

@ -4,6 +4,7 @@ import (
"net/http"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vminsert/netstorage"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vminsert/relabel"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/auth"
parser "github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/vmimport"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/storage"
@ -34,6 +35,7 @@ func insertRows(at *auth.Token, rows []parser.Row) error {
ctx.Reset() // This line is required for initializing ctx internals.
rowsTotal := 0
hasRelabeling := relabel.HasRelabeling()
for i := range rows {
r := &rows[i]
ctx.Labels = ctx.Labels[:0]
@ -41,7 +43,9 @@ func insertRows(at *auth.Token, rows []parser.Row) error {
tag := &r.Tags[j]
ctx.AddLabelBytes(tag.Key, tag.Value)
}
ctx.ApplyRelabeling()
if hasRelabeling {
ctx.ApplyRelabeling()
}
if len(ctx.Labels) == 0 {
// Skip metric without labels.
continue