From 93aaf29e681053a1d23dcf855cfe92af8415260d Mon Sep 17 00:00:00 2001 From: Owen Diehl Date: Fri, 3 May 2024 19:29:14 -0400 Subject: [PATCH] fix(spans): corrects early-close for a few spans (#12887) --- pkg/indexgateway/gateway.go | 14 ++++++++++++-- pkg/querier/queryrange/limits.go | 1 - pkg/querier/queryrange/shard_resolver.go | 1 - 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/pkg/indexgateway/gateway.go b/pkg/indexgateway/gateway.go index 0b6eda9409de..81f98662a1c3 100644 --- a/pkg/indexgateway/gateway.go +++ b/pkg/indexgateway/gateway.go @@ -418,7 +418,7 @@ func (g *Gateway) boundedShards( // sending multiple requests to the entire keyspace). logger := util_log.WithContext(ctx, g.log) - sp, ctx := opentracing.StartSpanFromContext(ctx, "indexgateway.getShardsWithBlooms") + sp, ctx := opentracing.StartSpanFromContext(ctx, "indexgateway.boundedShards") defer sp.Finish() // 1) for all bounds, get chunk refs @@ -431,6 +431,11 @@ func (g *Gateway) boundedShards( for _, g := range grps { ct += len(g) } + + sp.LogKV( + "stage", "queried local index", + "index_chunks_resolved", ct, + ) // TODO(owen-d): pool refs := make([]*logproto.ChunkRef, 0, ct) @@ -443,11 +448,15 @@ func (g *Gateway) boundedShards( filtered := refs // 2) filter via blooms if enabled - if g.bloomQuerier != nil && len(syntax.ExtractLineFilters(p.Plan().AST)) > 0 { + filters := syntax.ExtractLineFilters(p.Plan().AST) + if g.bloomQuerier != nil && len(filters) > 0 { filtered, err = g.bloomQuerier.FilterChunkRefs(ctx, instanceID, req.From, req.Through, refs, p.Plan()) if err != nil { return err } + sp.LogKV( + "stage", "queried bloom gateway", + ) } g.metrics.preFilterChunks.WithLabelValues(routeShards).Observe(float64(ct)) @@ -508,6 +517,7 @@ func (g *Gateway) boundedShards( "through", req.Through.Time().String(), "length", req.Through.Time().Sub(req.From.Time()).String(), "end_delta", time.Since(req.Through.Time()).String(), + "filters", len(filters), ) // 3) build shards diff --git a/pkg/querier/queryrange/limits.go b/pkg/querier/queryrange/limits.go index 5d63402fc9f3..f90a9aa3c4e5 100644 --- a/pkg/querier/queryrange/limits.go +++ b/pkg/querier/queryrange/limits.go @@ -341,7 +341,6 @@ func (q *querySizeLimiter) guessLimitName() string { func (q *querySizeLimiter) Do(ctx context.Context, r queryrangebase.Request) (queryrangebase.Response, error) { log := spanlogger.FromContext(ctx) - defer log.Finish() // Only support TSDB schemaCfg, err := q.getSchemaCfg(r) diff --git a/pkg/querier/queryrange/shard_resolver.go b/pkg/querier/queryrange/shard_resolver.go index c8a66de69091..ab4d23e830eb 100644 --- a/pkg/querier/queryrange/shard_resolver.go +++ b/pkg/querier/queryrange/shard_resolver.go @@ -222,7 +222,6 @@ func (r *dynamicShardResolver) ShardingRanges(expr syntax.Expr, targetBytesPerSh error, ) { log := spanlogger.FromContext(r.ctx) - defer log.Finish() adjustedFrom := r.from