From b3af2dbeef2212b7ce0156ad28ff3354b8dd2f70 Mon Sep 17 00:00:00 2001 From: Ed Welch Date: Tue, 15 Feb 2022 08:08:32 -0500 Subject: [PATCH] Loki: include the component in metrics.go log line (#5379) * add a component key to our metrics.go line Signed-off-by: Edward Welch * new computer... who dis Signed-off-by: Edward Welch * one more lint Signed-off-by: Edward Welch --- pkg/logql/engine.go | 2 +- pkg/logql/metrics.go | 5 +++-- pkg/logql/metrics_test.go | 2 +- pkg/loki/modules.go | 3 ++- pkg/querier/querier.go | 5 +++-- pkg/querier/queryrange/stats.go | 4 +++- 6 files changed, 13 insertions(+), 8 deletions(-) diff --git a/pkg/logql/engine.go b/pkg/logql/engine.go index 942bf5ba02..c5ff7f82b1 100644 --- a/pkg/logql/engine.go +++ b/pkg/logql/engine.go @@ -144,7 +144,7 @@ func (q *query) Exec(ctx context.Context) (logqlmodel.Result, error) { } if q.record { - RecordMetrics(ctx, q.params, status, statResult, data) + RecordMetrics(ctx, q.logger, q.params, status, statResult, data) } return logqlmodel.Result{ diff --git a/pkg/logql/metrics.go b/pkg/logql/metrics.go index 9359b56da5..16b18fcade 100644 --- a/pkg/logql/metrics.go +++ b/pkg/logql/metrics.go @@ -5,6 +5,7 @@ import ( "strings" "github.com/dustin/go-humanize" + "github.com/go-kit/log" "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promauto" @@ -72,9 +73,9 @@ var ( linePerSecondLogUsage = usagestats.NewStatistics("query_log_lines_per_second") ) -func RecordMetrics(ctx context.Context, p Params, status string, stats logql_stats.Result, result promql_parser.Value) { +func RecordMetrics(ctx context.Context, log log.Logger, p Params, status string, stats logql_stats.Result, result promql_parser.Value) { var ( - logger = util_log.WithContext(ctx, util_log.Logger) + logger = util_log.WithContext(ctx, log) rt = string(GetRangeType(p)) latencyType = latencyTypeFast returnedLines = 0 diff --git a/pkg/logql/metrics_test.go b/pkg/logql/metrics_test.go index ecf7d4a743..624f7a14ac 100644 --- a/pkg/logql/metrics_test.go +++ b/pkg/logql/metrics_test.go @@ -66,7 +66,7 @@ func TestLogSlowQuery(t *testing.T) { ctx = context.WithValue(ctx, httpreq.QueryTagsHTTPHeader, "Source=logvolhist,Feature=Beta") - RecordMetrics(ctx, LiteralParams{ + RecordMetrics(ctx, util_log.Logger, LiteralParams{ qs: `{foo="bar"} |= "buzz"`, direction: logproto.BACKWARD, end: now, diff --git a/pkg/loki/modules.go b/pkg/loki/modules.go index 938f48ab08..96ee27a2f3 100644 --- a/pkg/loki/modules.go +++ b/pkg/loki/modules.go @@ -11,6 +11,7 @@ import ( "time" "github.com/NYTimes/gziphandler" + "github.com/go-kit/log" "github.com/go-kit/log/level" "github.com/grafana/dskit/kv/codec" "github.com/grafana/dskit/kv/memberlist" @@ -621,7 +622,7 @@ func (t *Loki) initRuler() (_ services.Service, err error) { return nil, err } - engine := logql.NewEngine(t.Cfg.Querier.Engine, q, t.overrides, util_log.Logger) + engine := logql.NewEngine(t.Cfg.Querier.Engine, q, t.overrides, log.With(util_log.Logger, "component", "ruler")) t.ruler, err = ruler.NewRuler( t.Cfg.Ruler, diff --git a/pkg/querier/querier.go b/pkg/querier/querier.go index 052c192b51..4f5b7b9b48 100644 --- a/pkg/querier/querier.go +++ b/pkg/querier/querier.go @@ -6,6 +6,7 @@ import ( "net/http" "time" + "github.com/go-kit/log" "github.com/go-kit/log/level" "github.com/pkg/errors" "github.com/prometheus/common/model" @@ -89,13 +90,13 @@ func New(cfg Config, store storage.Store, ingesterQuerier *IngesterQuerier, limi limits: limits, } - querier.engine = logql.NewEngine(cfg.Engine, &querier, limits, util_log.Logger) + querier.engine = logql.NewEngine(cfg.Engine, &querier, limits, log.With(util_log.Logger, "component", "querier")) return &querier, nil } func (q *Querier) SetQueryable(queryable logql.Querier) { - q.engine = logql.NewEngine(q.cfg.Engine, queryable, q.limits, util_log.Logger) + q.engine = logql.NewEngine(q.cfg.Engine, queryable, q.limits, log.With(util_log.Logger, "component", "querier")) } // Select Implements logql.Querier which select logs via matchers and regex filters. diff --git a/pkg/querier/queryrange/stats.go b/pkg/querier/queryrange/stats.go index 0616aab194..08c67cc9d7 100644 --- a/pkg/querier/queryrange/stats.go +++ b/pkg/querier/queryrange/stats.go @@ -9,6 +9,7 @@ import ( "strconv" "time" + "github.com/go-kit/log" "github.com/go-kit/log/level" promql_parser "github.com/prometheus/prometheus/promql/parser" "github.com/weaveworks/common/middleware" @@ -17,6 +18,7 @@ import ( "github.com/grafana/loki/pkg/logqlmodel" "github.com/grafana/loki/pkg/logqlmodel/stats" "github.com/grafana/loki/pkg/querier/queryrange/queryrangebase" + util_log "github.com/grafana/loki/pkg/util/log" "github.com/grafana/loki/pkg/util/spanlogger" ) @@ -26,7 +28,7 @@ const ctxKey ctxKeyType = "stats" var ( defaultMetricRecorder = metricRecorderFn(func(data *queryData) { - logql.RecordMetrics(data.ctx, data.params, data.status, *data.statistics, data.result) + logql.RecordMetrics(data.ctx, log.With(util_log.Logger, "component", "frontend"), data.params, data.status, *data.statistics, data.result) }) // StatsHTTPMiddleware is an http middleware to record stats for query_range filter. StatsHTTPMiddleware = statsHTTPMiddleware(defaultMetricRecorder)