From f38451a1cb65b10bff7b805424a9f073a6814f3f Mon Sep 17 00:00:00 2001 From: Cyril Tovena Date: Mon, 14 Jun 2021 10:46:49 +0200 Subject: [PATCH] Logs ingester and store queries boundaries. example: ``` ts=2021-06-14T08:43:30.015895283Z caller=spanlogger.go:87 org_id=4336 traceID=0b6bb74a53efd739 level=debug msg="querying ingester" params="selector={stream=\"stdout\", pod=\"loki-canary-6 64d9d8d8f-99k22\"}, direction=BACKWARD, start=2021-06-14 08:17:03.037241855 +0000 UTC, end=2021-06-14 08:17:23.037241855 +0000 UTC, limit=1000, shards=" ts=2021-06-14T08:43:30.016305592Z caller=spanlogger.go:87 org_id=4336 traceID=0b6bb74a53efd739 level=debug msg="querying store" params="selector={stream=\"stdout\", pod=\"loki-canary-664d 9d8d8f-99k22\"}, direction=BACKWARD, start=2021-06-14 08:17:03.037241855 +0000 UTC, end=2021-06-14 08:17:23.037241855 +0000 UTC, limit=1000, shards=" ``` Signed-off-by: Cyril Tovena --- pkg/logql/ast.go | 8 ++++++++ pkg/querier/querier.go | 8 ++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/pkg/logql/ast.go b/pkg/logql/ast.go index cbee578187c4..9f5466c440aa 100644 --- a/pkg/logql/ast.go +++ b/pkg/logql/ast.go @@ -42,6 +42,14 @@ type SelectLogParams struct { *logproto.QueryRequest } +func (s SelectLogParams) String() string { + if s.QueryRequest != nil { + return fmt.Sprintf("selector=%s, direction=%s, start=%s, end=%s, limit=%d, shards=%s", + s.Selector, logproto.Direction_name[int32(s.Direction)], s.Start, s.End, s.Limit, strings.Join(s.Shards, ",")) + } + return "" +} + // LogSelector returns the LogSelectorExpr from the SelectParams. // The `LogSelectorExpr` can then returns all matchers and filters to use for that request. func (s SelectLogParams) LogSelector() (LogSelectorExpr, error) { diff --git a/pkg/querier/querier.go b/pkg/querier/querier.go index 323adf26ddd3..51ab81818a9a 100644 --- a/pkg/querier/querier.go +++ b/pkg/querier/querier.go @@ -107,7 +107,9 @@ func (q *Querier) SelectLogs(ctx context.Context, params logql.SelectLogParams) } newParams.Start = ingesterQueryInterval.start newParams.End = ingesterQueryInterval.end - + level.Debug(spanlogger.FromContext(ctx)).Log( + "msg", "querying ingester", + "params", newParams) ingesterIters, err := q.ingesterQuerier.SelectLogs(ctx, newParams) if err != nil { return nil, err @@ -119,7 +121,9 @@ func (q *Querier) SelectLogs(ctx context.Context, params logql.SelectLogParams) if storeQueryInterval != nil { params.Start = storeQueryInterval.start params.End = storeQueryInterval.end - + level.Debug(spanlogger.FromContext(ctx)).Log( + "msg", "querying store", + "params", params) storeIter, err := q.store.SelectLogs(ctx, params) if err != nil { return nil, err