mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2025-02-19 15:30:17 +00:00
app/vminsert: allow setting the maximum number of labels per time series via -maxLabelsPerTimeseries
This commit is contained in:
parent
8a126c2865
commit
8c03a8c4b4
2 changed files with 16 additions and 2 deletions
|
@ -13,6 +13,7 @@ import (
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/app/vminsert/opentsdbhttp"
|
"github.com/VictoriaMetrics/VictoriaMetrics/app/vminsert/opentsdbhttp"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/app/vminsert/prometheus"
|
"github.com/VictoriaMetrics/VictoriaMetrics/app/vminsert/prometheus"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/httpserver"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/httpserver"
|
||||||
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/storage"
|
||||||
"github.com/VictoriaMetrics/metrics"
|
"github.com/VictoriaMetrics/metrics"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -21,10 +22,13 @@ var (
|
||||||
opentsdbListenAddr = flag.String("opentsdbListenAddr", "", "TCP and UDP address to listen for OpentTSDB put messages. Usually :4242 must be set. Doesn't work if empty")
|
opentsdbListenAddr = flag.String("opentsdbListenAddr", "", "TCP and UDP address to listen for OpentTSDB put messages. Usually :4242 must be set. Doesn't work if empty")
|
||||||
opentsdbHTTPListenAddr = flag.String("opentsdbHTTPListenAddr", "", "TCP address to listen for OpentTSDB HTTP put requests. Usually :4242 must be set. Doesn't work if empty")
|
opentsdbHTTPListenAddr = flag.String("opentsdbHTTPListenAddr", "", "TCP address to listen for OpentTSDB HTTP put requests. Usually :4242 must be set. Doesn't work if empty")
|
||||||
maxInsertRequestSize = flag.Int("maxInsertRequestSize", 32*1024*1024, "The maximum size of a single insert request in bytes")
|
maxInsertRequestSize = flag.Int("maxInsertRequestSize", 32*1024*1024, "The maximum size of a single insert request in bytes")
|
||||||
|
maxLabelsPerTimeseries = flag.Int("maxLabelsPerTimeseries", 30, "The maximum number of labels accepted per time series. Superflouos labels are dropped")
|
||||||
)
|
)
|
||||||
|
|
||||||
// Init initializes vminsert.
|
// Init initializes vminsert.
|
||||||
func Init() {
|
func Init() {
|
||||||
|
storage.SetMaxLabelsPerTimeseries(*maxLabelsPerTimeseries)
|
||||||
|
|
||||||
concurrencylimiter.Init()
|
concurrencylimiter.Init()
|
||||||
if len(*graphiteListenAddr) > 0 {
|
if len(*graphiteListenAddr) > 0 {
|
||||||
go graphite.Serve(*graphiteListenAddr)
|
go graphite.Serve(*graphiteListenAddr)
|
||||||
|
|
|
@ -9,6 +9,7 @@ import (
|
||||||
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/encoding"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/encoding"
|
||||||
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/logger"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/prompb"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/prompb"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -392,9 +393,18 @@ const maxLabelNameLen = 256
|
||||||
const maxLabelValueLen = 16 * 1024
|
const maxLabelValueLen = 16 * 1024
|
||||||
|
|
||||||
// The maximum number of labels per each timeseries.
|
// The maximum number of labels per each timeseries.
|
||||||
|
var maxLabelsPerTimeseries = 30
|
||||||
|
|
||||||
|
// SetMaxLabelsPerTimeseries sets the limit on the number of labels
|
||||||
|
// per each time series.
|
||||||
//
|
//
|
||||||
// Superflouos lables are dropped.
|
// Superfouos labels are dropped.
|
||||||
const maxLabelsPerTimeseries = 30
|
func SetMaxLabelsPerTimeseries(maxLabels int) {
|
||||||
|
if maxLabels <= 0 {
|
||||||
|
logger.Panicf("BUG: maxLabels must be positive; got %d", maxLabels)
|
||||||
|
}
|
||||||
|
maxLabelsPerTimeseries = maxLabels
|
||||||
|
}
|
||||||
|
|
||||||
// MarshalMetricNameRaw marshals labels to dst and returns the result.
|
// MarshalMetricNameRaw marshals labels to dst and returns the result.
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in a new issue