MCPcopy Create free account
hub / github.com/cortexproject/cortex / NewQueryLimiter

Function NewQueryLimiter

pkg/util/limiter/query_limiter.go:41–51  ·  view source on GitHub ↗

NewQueryLimiter makes a new per-query limiter. Each query limiter is configured using the `maxSeriesPerQuery` limit.

(maxSeriesPerQuery, maxChunkBytesPerQuery, maxChunksPerQuery, maxDataBytesPerQuery int)

Source from the content-addressed store, hash-verified

39// NewQueryLimiter makes a new per-query limiter. Each query limiter
40// is configured using the `maxSeriesPerQuery` limit.
41func NewQueryLimiter(maxSeriesPerQuery, maxChunkBytesPerQuery, maxChunksPerQuery, maxDataBytesPerQuery int) *QueryLimiter {
42 return &QueryLimiter{
43 uniqueSeriesMx: sync.Mutex{},
44 uniqueSeries: map[model.Fingerprint]struct{}{},
45
46 maxSeriesPerQuery: maxSeriesPerQuery,
47 maxChunkBytesPerQuery: maxChunkBytesPerQuery,
48 maxChunksPerQuery: maxChunksPerQuery,
49 maxDataBytesPerQuery: maxDataBytesPerQuery,
50 }
51}
52
53func AddQueryLimiterToContext(ctx context.Context, limiter *QueryLimiter) context.Context {
54 return context.WithValue(ctx, ctxKey, limiter)

Calls

no outgoing calls