astmapper spanlogger

pull/5317/head
Owen Diehl 3 years ago
parent c28484ded5
commit 23f6b55c14
  1. 10
      pkg/querier/queryrange/querysharding.go

@ -8,6 +8,8 @@ import (
"github.com/go-kit/log"
"github.com/go-kit/log/level"
"github.com/opentracing/opentracing-go"
otlog "github.com/opentracing/opentracing-go/log"
"github.com/pkg/errors"
"github.com/prometheus/prometheus/promql/parser"
"github.com/weaveworks/common/httpgrpc"
@ -90,29 +92,37 @@ type astMapperware struct {
func (ast *astMapperware) Do(ctx context.Context, r queryrangebase.Request) (queryrangebase.Response, error) {
conf, err := ast.confs.GetConf(r)
logger := util_log.WithContext(ctx, ast.logger)
sp, _ := opentracing.StartSpanFromContext(ctx, "astmapper")
defer sp.Finish()
sp.LogFields(otlog.String("msg", "setup"))
// cannot shard with this timerange
if err != nil {
sp.LogKV("msg", "error finding shardable configs", "err", err.Error())
level.Warn(logger).Log("err", err.Error(), "msg", "skipped AST mapper for request")
return ast.next.Do(ctx, r)
}
mapper, err := logql.NewShardMapper(int(conf.RowShards), ast.metrics)
if err != nil {
sp.LogKV("msg", "error building shardmapper", "err", err.Error())
return nil, err
}
noop, parsed, err := mapper.Parse(r.GetQuery())
if err != nil {
sp.LogKV("msg", "error parsing", "err", err.Error())
level.Warn(logger).Log("msg", "failed mapping AST", "err", err.Error(), "query", r.GetQuery())
return nil, err
}
level.Debug(logger).Log("no-op", noop, "mapped", parsed.String())
if noop {
sp.LogKV("msg", "noop")
// the ast can't be mapped to a sharded equivalent
// so we can bypass the sharding engine.
return ast.next.Do(ctx, r)
}
sp.LogKV("msg", "running query", "query", parsed.String())
params, err := paramsFromRequest(r)
if err != nil {

Loading…
Cancel
Save