Adds the per tenant limit `tsdb-max-bytes-per-shard` which is used in
configuring the shard size for tsdb subqueries. This effectively gives
control over how big subqueries should be (assuming they're shardable).
The default is no different (`600MB`) than the previously hardcoded
initial value.
This should help us iterate to find optimal shard sizes to improve
operations in the long term.
f.Var(&l.MaxQueryLookback,"querier.max-query-lookback","Limit how far back in time series data and metadata can be queried, up until lookback duration ago. This limit is enforced in the query frontend, the querier and the ruler. If the requested time range is outside the allowed range, the request will not fail, but will be modified to only query data within the allowed time range. The default value of 0 does not set a limit.")
f.IntVar(&l.MaxQueryParallelism,"querier.max-query-parallelism",32,"Maximum number of queries that will be scheduled in parallel by the frontend.")
f.IntVar(&l.TSDBMaxQueryParallelism,"querier.tsdb-max-query-parallelism",512,"Maximum number of queries will be scheduled in parallel by the frontend for TSDB schemas.")
f.Var(&l.TSDBMaxBytesPerShard,"querier.tsdb-max-bytes-per-shard","Maximum number of bytes assigned to a single sharded query. Also expressible in human readable forms (1GB, etc).")
f.IntVar(&l.CardinalityLimit,"store.cardinality-limit",1e5,"Cardinality limit for index queries.")
f.IntVar(&l.MaxStreamsMatchersPerQuery,"querier.max-streams-matcher-per-query",1000,"Maximum number of stream matchers per query.")
f.IntVar(&l.MaxConcurrentTailRequests,"querier.max-concurrent-tail-requests",10,"Maximum number of concurrent tail requests.")
@ -474,6 +478,11 @@ func (o *Overrides) TSDBMaxQueryParallelism(_ context.Context, userID string) in