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

Method logQueryRequest

pkg/frontend/transport/handler.go:384–421  ·  view source on GitHub ↗

logQueryRequest logs query request before query execution.

(r *http.Request, queryString url.Values, source string)

Source from the content-addressed store, hash-verified

382
383// logQueryRequest logs query request before query execution.
384func (f *Handler) logQueryRequest(r *http.Request, queryString url.Values, source string) {
385 logMessage := []any{
386 "msg", "query request",
387 "component", "query-frontend",
388 "method", r.Method,
389 "path", r.URL.Path,
390 }
391 grafanaFields := formatGrafanaStatsFields(r)
392 if len(grafanaFields) > 0 {
393 logMessage = append(logMessage, grafanaFields...)
394 }
395
396 if query := queryString.Get("query"); len(query) > 0 {
397 logMessage = append(logMessage, "query_length", len(query))
398 }
399
400 if ua := r.Header.Get("User-Agent"); len(ua) > 0 {
401 logMessage = append(logMessage, "user_agent", ua)
402 }
403
404 if engineType := r.Header.Get(engine.TypeHeader); len(engineType) > 0 {
405 logMessage = append(logMessage, "engine_type", engineType)
406 }
407
408 if blockStoreType := r.Header.Get(querier.BlockStoreTypeHeader); len(blockStoreType) > 0 {
409 logMessage = append(logMessage, "block_store_type", blockStoreType)
410 }
411
412 if acceptEncoding := r.Header.Get("Accept-Encoding"); len(acceptEncoding) > 0 {
413 logMessage = append(logMessage, "accept_encoding", acceptEncoding)
414 }
415
416 shouldLog := source == requestmeta.SourceAPI || (f.cfg.EnabledRulerQueryStatsLog && source == requestmeta.SourceRuler)
417 if shouldLog {
418 logMessage = append(logMessage, formatQueryString(queryString)...)
419 level.Info(util_log.WithContext(r.Context(), f.log)).Log(logMessage...)
420 }
421}
422
423// reportSlowQuery reports slow queries.
424func (f *Handler) reportSlowQuery(r *http.Request, queryString url.Values, queryResponseTime time.Duration) {

Callers 1

ServeHTTPMethod · 0.95

Calls 5

formatGrafanaStatsFieldsFunction · 0.85
formatQueryStringFunction · 0.85
GetMethod · 0.65
LogMethod · 0.45
ContextMethod · 0.45

Tested by

no test coverage detected