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

Method SearchTagValues

tempodb/tempodb.go:477–497  ·  view source on GitHub ↗
(ctx context.Context, meta *backend.BlockMeta, req *tempopb.SearchTagValuesBlockRequest, opts common.SearchOptions)

Source from the content-addressed store, hash-verified

475}
476
477func (rw *readerWriter) SearchTagValues(ctx context.Context, meta *backend.BlockMeta, req *tempopb.SearchTagValuesBlockRequest, opts common.SearchOptions) (response *tempopb.SearchTagValuesResponse, err error) {
478 block, err := encoding.OpenBlock(meta, rw.r)
479 if err != nil {
480 return &tempopb.SearchTagValuesResponse{}, err
481 }
482
483 dv := collector.NewDistinctString(0, req.SearchReq.MaxTagValues, req.SearchReq.StaleValueThreshold)
484 mc := collector.NewMetricsCollector()
485 rw.cfg.Search.ApplyToOptions(&opts)
486 err = block.SearchTagValues(ctx, req.SearchReq.TagName, dv.Collect, mc.Add, opts)
487
488 orgID, _ := user.ExtractOrgID(ctx)
489 if dv.Exceeded() {
490 level.Warn(log.Logger).Log("msg", "Search tags exceeded limit, reduce cardinality or size of tags", "orgID", orgID, "stopReason", dv.StopReason())
491 }
492
493 return &tempopb.SearchTagValuesResponse{
494 TagValues: dv.Strings(),
495 Metrics: &tempopb.MetadataMetrics{InspectedBytes: mc.TotalValue()},
496 }, err
497}
498
499func (rw *readerWriter) SearchTagValuesV2(ctx context.Context, meta *backend.BlockMeta, req *tempopb.SearchTagValuesRequest, opts common.SearchOptions) (*tempopb.SearchTagValuesV2Response, error) {
500 block, err := encoding.OpenBlock(meta, rw.r)

Callers

nothing calls this directly

Calls 10

ExceededMethod · 0.95
StopReasonMethod · 0.95
StringsMethod · 0.95
TotalValueMethod · 0.95
OpenBlockFunction · 0.92
NewDistinctStringFunction · 0.92
NewMetricsCollectorFunction · 0.92
ApplyToOptionsMethod · 0.80
SearchTagValuesMethod · 0.65
LogMethod · 0.65

Tested by

no test coverage detected