diff --git a/cmd/mimir/config-descriptor.json b/cmd/mimir/config-descriptor.json index 3ac7f5c294..dcc0ebfb92 100644 --- a/cmd/mimir/config-descriptor.json +++ b/cmd/mimir/config-descriptor.json @@ -3403,17 +3403,6 @@ "fieldType": "int", "fieldCategory": "experimental" }, - { - "kind": "field", - "name": "log_utilization_based_limiter_cpu_samples", - "required": false, - "desc": "Enable logging of utilization based limiter CPU samples.", - "fieldValue": null, - "fieldDefaultValue": false, - "fieldFlag": "ingester.log-utilization-based-limiter-cpu-samples", - "fieldType": "boolean", - "fieldCategory": "experimental" - }, { "kind": "field", "name": "error_sample_rate", diff --git a/cmd/mimir/help-all.txt.tmpl b/cmd/mimir/help-all.txt.tmpl index 08bc71314d..bd0256e3f6 100644 --- a/cmd/mimir/help-all.txt.tmpl +++ b/cmd/mimir/help-all.txt.tmpl @@ -1625,8 +1625,6 @@ Usage of ./cmd/mimir/mimir: Max series that this ingester can hold (across all tenants). Requests to create additional series will be rejected. 0 = unlimited. -ingester.instance-limits.max-tenants int Max tenants that this ingester can hold. Requests from additional tenants will be rejected. 0 = unlimited. - -ingester.log-utilization-based-limiter-cpu-samples - [experimental] Enable logging of utilization based limiter CPU samples. -ingester.max-global-exemplars-per-user int [experimental] The maximum number of exemplars in memory, across the cluster. 0 to disable exemplars ingestion. -ingester.max-global-metadata-per-metric int diff --git a/docs/sources/mimir/configure/configuration-parameters/index.md b/docs/sources/mimir/configure/configuration-parameters/index.md index f9a147e7bc..dfd84fbca6 100644 --- a/docs/sources/mimir/configure/configuration-parameters/index.md +++ b/docs/sources/mimir/configure/configuration-parameters/index.md @@ -1238,10 +1238,6 @@ instance_limits: # CLI flag: -ingester.read-path-memory-utilization-limit [read_path_memory_utilization_limit: | default = 0] -# (experimental) Enable logging of utilization based limiter CPU samples. -# CLI flag: -ingester.log-utilization-based-limiter-cpu-samples -[log_utilization_based_limiter_cpu_samples: | default = false] - # (advanced) Each error will be logged once in this many times. Use 0 to log all # of them. # CLI flag: -ingester.error-sample-rate diff --git a/pkg/ingester/ingester.go b/pkg/ingester/ingester.go index d5a934e781..e69cda6448 100644 --- a/pkg/ingester/ingester.go +++ b/pkg/ingester/ingester.go @@ -198,9 +198,8 @@ type Config struct { IgnoreSeriesLimitForMetricNames string `yaml:"ignore_series_limit_for_metric_names" category:"advanced"` - ReadPathCPUUtilizationLimit float64 `yaml:"read_path_cpu_utilization_limit" category:"experimental"` - ReadPathMemoryUtilizationLimit uint64 `yaml:"read_path_memory_utilization_limit" category:"experimental"` - LogUtilizationBasedLimiterCPUSamples bool `yaml:"log_utilization_based_limiter_cpu_samples" category:"experimental"` + ReadPathCPUUtilizationLimit float64 `yaml:"read_path_cpu_utilization_limit" category:"experimental"` + ReadPathMemoryUtilizationLimit uint64 `yaml:"read_path_memory_utilization_limit" category:"experimental"` ErrorSampleRate int64 `yaml:"error_sample_rate" json:"error_sample_rate" category:"advanced"` @@ -238,7 +237,6 @@ func (cfg *Config) RegisterFlags(f *flag.FlagSet, logger log.Logger) { f.StringVar(&cfg.IgnoreSeriesLimitForMetricNames, "ingester.ignore-series-limit-for-metric-names", "", "Comma-separated list of metric names, for which the -ingester.max-global-series-per-metric limit will be ignored. Does not affect the -ingester.max-global-series-per-user limit.") f.Float64Var(&cfg.ReadPathCPUUtilizationLimit, "ingester.read-path-cpu-utilization-limit", 0, "CPU utilization limit, as CPU cores, for CPU/memory utilization based read request limiting. Use 0 to disable it.") f.Uint64Var(&cfg.ReadPathMemoryUtilizationLimit, "ingester.read-path-memory-utilization-limit", 0, "Memory limit, in bytes, for CPU/memory utilization based read request limiting. Use 0 to disable it.") - f.BoolVar(&cfg.LogUtilizationBasedLimiterCPUSamples, "ingester.log-utilization-based-limiter-cpu-samples", false, "Enable logging of utilization based limiter CPU samples.") f.Int64Var(&cfg.ErrorSampleRate, "ingester.error-sample-rate", 10, "Each error will be logged once in this many times. Use 0 to log all of them.") f.BoolVar(&cfg.UseIngesterOwnedSeriesForLimits, "ingester.use-ingester-owned-series-for-limits", false, "When enabled, only series currently owned by ingester according to the ring are used when checking user per-tenant series limit.") f.BoolVar(&cfg.UpdateIngesterOwnedSeries, "ingester.track-ingester-owned-series", false, "This option enables tracking of ingester-owned series based on ring state, even if -ingester.use-ingester-owned-series-for-limits is disabled.") @@ -420,7 +418,7 @@ func New(cfg Config, limits *validation.Overrides, ingestersRing ring.ReadRing, if cfg.ReadPathCPUUtilizationLimit > 0 || cfg.ReadPathMemoryUtilizationLimit > 0 { i.utilizationBasedLimiter = limiter.NewUtilizationBasedLimiter(cfg.ReadPathCPUUtilizationLimit, - cfg.ReadPathMemoryUtilizationLimit, cfg.LogUtilizationBasedLimiterCPUSamples, + cfg.ReadPathMemoryUtilizationLimit, true, log.WithPrefix(logger, "context", "read path"), prometheus.WrapRegistererWithPrefix("cortex_ingester_", registerer)) }