MCPcopy
hub / github.com/grafana/tempo / newAsyncSearchSharder

Function newAsyncSearchSharder

modules/frontend/search_sharder.go:58–71  ·  view source on GitHub ↗

newAsyncSearchSharder creates a sharding middleware for search

(reader tempodb.Reader, o overrides.Interface, cfg SearchSharderConfig, skipASTTransformations []string, jobsPerQuery *prometheus.HistogramVec, logger log.Logger)

Source from the content-addressed store, hash-verified

56
57// newAsyncSearchSharder creates a sharding middleware for search
58func newAsyncSearchSharder(reader tempodb.Reader, o overrides.Interface, cfg SearchSharderConfig, skipASTTransformations []string, jobsPerQuery *prometheus.HistogramVec, logger log.Logger) pipeline.AsyncMiddleware[combiner.PipelineResponse] {
59 return pipeline.AsyncMiddlewareFunc[combiner.PipelineResponse](func(next pipeline.AsyncRoundTripper[combiner.PipelineResponse]) pipeline.AsyncRoundTripper[combiner.PipelineResponse] {
60 return asyncSearchSharder{
61 next: next,
62 reader: reader,
63 overrides: o,
64
65 cfg: cfg,
66 skipASTTransformations: skipASTTransformations,
67 logger: logger,
68 jobsPerQuery: jobsPerQuery,
69 }
70 })
71}
72
73// RoundTrip implements http.RoundTripper
74// execute up to concurrentRequests simultaneously where each request scans ~targetMBsPerRequest

Calls

no outgoing calls