MCPcopy
hub / github.com/prometheus/prometheus / newBlockBaseQuerier

Function newBlockBaseQuerier

tsdb/querier.go:51–79  ·  view source on GitHub ↗
(b BlockReader, mint, maxt int64)

Source from the content-addressed store, hash-verified

49var _ storage.Searcher = &blockBaseQuerier{}
50
51func newBlockBaseQuerier(b BlockReader, mint, maxt int64) (*blockBaseQuerier, error) {
52 indexr, err := b.Index()
53 if err != nil {
54 return nil, fmt.Errorf("open index reader: %w", err)
55 }
56 chunkr, err := b.Chunks()
57 if err != nil {
58 indexr.Close()
59 return nil, fmt.Errorf("open chunk reader: %w", err)
60 }
61 tombsr, err := b.Tombstones()
62 if err != nil {
63 indexr.Close()
64 chunkr.Close()
65 return nil, fmt.Errorf("open tombstone reader: %w", err)
66 }
67
68 if tombsr == nil {
69 tombsr = tombstones.NewMemTombstones()
70 }
71 return &blockBaseQuerier{
72 blockID: b.Meta().ULID,
73 mint: mint,
74 maxt: maxt,
75 index: indexr,
76 chunks: chunkr,
77 tombstones: tombsr,
78 }, nil
79}
80
81func (q *blockBaseQuerier) LabelValues(ctx context.Context, name string, hints *storage.LabelHints, matchers ...*labels.Matcher) ([]string, annotations.Annotations, error) {
82 res, err := q.index.SortedLabelValues(ctx, name, hints, matchers...)

Callers 3

NewBlockQuerierFunction · 0.85
NewBlockChunkQuerierFunction · 0.85

Calls 6

NewMemTombstonesFunction · 0.92
IndexMethod · 0.65
ChunksMethod · 0.65
CloseMethod · 0.65
TombstonesMethod · 0.65
MetaMethod · 0.65

Tested by 1

Used in the wild real call sites across dependent graphs

searching dependent graphs…