MCPcopy Index your code
hub / github.com/cortexproject/cortex / engineQueryFunc

Function engineQueryFunc

pkg/ruler/compat.go:180–194  ·  view source on GitHub ↗
(engine promql.QueryEngine, frontendClient *frontendClient, q storage.Queryable, overrides RulesLimits, userID string, lookbackDelta time.Duration)

Source from the content-addressed store, hash-verified

178type QueryExecutor func(ctx context.Context, qs string, t time.Time) (promql.Vector, error)
179
180func engineQueryFunc(engine promql.QueryEngine, frontendClient *frontendClient, q storage.Queryable, overrides RulesLimits, userID string, lookbackDelta time.Duration) rules.QueryFunc {
181 var executor QueryExecutor
182
183 if frontendClient != nil {
184 // query to query frontend
185 executor = frontendClient.InstantQuery
186 } else {
187 // query to engine
188 executor = func(ctx context.Context, qs string, t time.Time) (promql.Vector, error) {
189 return executeQuery(ctx, engine, q, qs, t)
190 }
191 }
192
193 return wrapWithMiddleware(executor, overrides, userID, lookbackDelta)
194}
195
196func executeQuery(ctx context.Context, engine promql.QueryEngine, q storage.Queryable, qs string, t time.Time) (promql.Vector, error) {
197 qry, err := engine.NewInstantQuery(ctx, q, nil, qs, t)

Callers 1

buildQueryFuncFunction · 0.85

Calls 2

executeQueryFunction · 0.85
wrapWithMiddlewareFunction · 0.85

Tested by

no test coverage detected