@@ -3914,6 +3914,48 @@ query_protection:
39143914 # disable.
39153915 # CLI flag: -ingester.query-protection.rejection.threshold.heap-utilization
39163916 [heap_utilization: <float> | default = 0]
3917+
3918+ eviction:
3919+ threshold:
3920+ # EXPERIMENTAL: Max CPU utilization that this instance can reach before
3921+ # evicting the heaviest running query (across all tenants) in percentage,
3922+ # between 0 and 1. monitored_resources config must include the resource
3923+ # type. 0 to disable.
3924+ # CLI flag: -ingester.query-protection.eviction.threshold.cpu-utilization
3925+ [cpu_utilization: <float> | default = 0]
3926+
3927+ # EXPERIMENTAL: Max heap utilization that this instance can reach before
3928+ # evicting the heaviest running query (across all tenants) in percentage,
3929+ # between 0 and 1. monitored_resources config must include the resource
3930+ # type. 0 to disable.
3931+ # CLI flag: -ingester.query-protection.eviction.threshold.heap-utilization
3932+ [heap_utilization: <float> | default = 0]
3933+
3934+ # EXPERIMENTAL: How frequently the evictor checks system resource
3935+ # utilization.
3936+ # CLI flag: -ingester.query-protection.eviction.check-interval
3937+ [check_interval: <duration> | default = 1s]
3938+
3939+ # EXPERIMENTAL: Number of check intervals to wait after an eviction before
3940+ # evicting again.
3941+ # CLI flag: -ingester.query-protection.eviction.cooldown-period
3942+ [cooldown_period: <int> | default = 3]
3943+
3944+ # EXPERIMENTAL: The query metric used to determine the heaviest query for
3945+ # eviction. Supported values: fetched_samples, fetched_series,
3946+ # fetched_chunks, fetched_chunk_bytes.
3947+ # CLI flag: -ingester.query-protection.eviction.eviction-metric
3948+ [eviction_metric: <string> | default = "fetched_samples"]
3949+
3950+ # EXPERIMENTAL: Minimum time a query must be running before it becomes
3951+ # eligible for eviction. Queries younger than this are ignored.
3952+ # CLI flag: -ingester.query-protection.eviction.min-query-age
3953+ [min_query_age: <duration> | default = 10s]
3954+
3955+ # EXPERIMENTAL: Maximum number of queries to evict in a single check cycle
3956+ # when resource thresholds are breached.
3957+ # CLI flag: -ingester.query-protection.eviction.max-evictions-per-cycle
3958+ [max_evictions_per_cycle: <int> | default = 1]
39173959` ` `
39183960
39193961# ## `ingester_client_config`
@@ -5081,6 +5123,48 @@ query_protection:
50815123 # disable.
50825124 # CLI flag: -querier.query-protection.rejection.threshold.heap-utilization
50835125 [heap_utilization : <float> | default = 0]
5126+
5127+ eviction :
5128+ threshold :
5129+ # EXPERIMENTAL: Max CPU utilization that this instance can reach before
5130+ # evicting the heaviest running query (across all tenants) in percentage,
5131+ # between 0 and 1. monitored_resources config must include the resource
5132+ # type. 0 to disable.
5133+ # CLI flag: -querier.query-protection.eviction.threshold.cpu-utilization
5134+ [cpu_utilization : <float> | default = 0]
5135+
5136+ # EXPERIMENTAL: Max heap utilization that this instance can reach before
5137+ # evicting the heaviest running query (across all tenants) in percentage,
5138+ # between 0 and 1. monitored_resources config must include the resource
5139+ # type. 0 to disable.
5140+ # CLI flag: -querier.query-protection.eviction.threshold.heap-utilization
5141+ [heap_utilization : <float> | default = 0]
5142+
5143+ # EXPERIMENTAL: How frequently the evictor checks system resource
5144+ # utilization.
5145+ # CLI flag: -querier.query-protection.eviction.check-interval
5146+ [check_interval : <duration> | default = 1s]
5147+
5148+ # EXPERIMENTAL: Number of check intervals to wait after an eviction before
5149+ # evicting again.
5150+ # CLI flag: -querier.query-protection.eviction.cooldown-period
5151+ [cooldown_period : <int> | default = 3]
5152+
5153+ # EXPERIMENTAL: The query metric used to determine the heaviest query for
5154+ # eviction. Supported values: fetched_samples, fetched_series,
5155+ # fetched_chunks, fetched_chunk_bytes.
5156+ # CLI flag: -querier.query-protection.eviction.eviction-metric
5157+ [eviction_metric : <string> | default = "fetched_samples"]
5158+
5159+ # EXPERIMENTAL: Minimum time a query must be running before it becomes
5160+ # eligible for eviction. Queries younger than this are ignored.
5161+ # CLI flag: -querier.query-protection.eviction.min-query-age
5162+ [min_query_age : <duration> | default = 10s]
5163+
5164+ # EXPERIMENTAL: Maximum number of queries to evict in a single check cycle
5165+ # when resource thresholds are breached.
5166+ # CLI flag: -querier.query-protection.eviction.max-evictions-per-cycle
5167+ [max_evictions_per_cycle : <int> | default = 1]
50845168` ` `
50855169
50865170### ` query_frontend_config`
@@ -6850,6 +6934,48 @@ query_protection:
68506934 # CLI flag: -store-gateway.query-protection.rejection.threshold.heap-utilization
68516935 [heap_utilization: <float> | default = 0]
68526936
6937+ eviction:
6938+ threshold:
6939+ # EXPERIMENTAL: Max CPU utilization that this instance can reach before
6940+ # evicting the heaviest running query (across all tenants) in percentage,
6941+ # between 0 and 1. monitored_resources config must include the resource
6942+ # type. 0 to disable.
6943+ # CLI flag: -store-gateway.query-protection.eviction.threshold.cpu-utilization
6944+ [cpu_utilization: <float> | default = 0]
6945+
6946+ # EXPERIMENTAL: Max heap utilization that this instance can reach before
6947+ # evicting the heaviest running query (across all tenants) in percentage,
6948+ # between 0 and 1. monitored_resources config must include the resource
6949+ # type. 0 to disable.
6950+ # CLI flag: -store-gateway.query-protection.eviction.threshold.heap-utilization
6951+ [heap_utilization: <float> | default = 0]
6952+
6953+ # EXPERIMENTAL: How frequently the evictor checks system resource
6954+ # utilization.
6955+ # CLI flag: -store-gateway.query-protection.eviction.check-interval
6956+ [check_interval: <duration> | default = 1s]
6957+
6958+ # EXPERIMENTAL: Number of check intervals to wait after an eviction before
6959+ # evicting again.
6960+ # CLI flag: -store-gateway.query-protection.eviction.cooldown-period
6961+ [cooldown_period: <int> | default = 3]
6962+
6963+ # EXPERIMENTAL: The query metric used to determine the heaviest query for
6964+ # eviction. Supported values: fetched_samples, fetched_series,
6965+ # fetched_chunks, fetched_chunk_bytes.
6966+ # CLI flag: -store-gateway.query-protection.eviction.eviction-metric
6967+ [eviction_metric: <string> | default = "fetched_samples"]
6968+
6969+ # EXPERIMENTAL: Minimum time a query must be running before it becomes
6970+ # eligible for eviction. Queries younger than this are ignored.
6971+ # CLI flag: -store-gateway.query-protection.eviction.min-query-age
6972+ [min_query_age: <duration> | default = 10s]
6973+
6974+ # EXPERIMENTAL: Maximum number of queries to evict in a single check cycle
6975+ # when resource thresholds are breached.
6976+ # CLI flag: -store-gateway.query-protection.eviction.max-evictions-per-cycle
6977+ [max_evictions_per_cycle: <int> | default = 1]
6978+
68536979hedged_request:
68546980 # If true, hedged requests are applied to object store calls. It can help with
68556981 # reducing tail latency.
0 commit comments