grafana / grafana/pyroscope

Query more efficently by using the information about (deduplicated) blocks

Open
#2,674 0 comments 0 reactions 0 assignees View on GitHub
v1
Dominant language
Go
Stars
11.7k
Forks
802
Avg merge
1d 19h
Merged PRs (30d)
80

Description

This issue is an umbrella issue to use the physical block plan for all query endpoints.

The `queryStoreAfter` flag should be removed once the work is complete and instead a plan of which blocks to query from which store gateways should be used.

That has been created in PR https://github.com/grafana/pyroscope/pull/2586 and makes sure to:
- Only query on block once from one of the store-gateways (typically the replication factor there is 3) and once the compactor has deduplicated all blocks in the time window, bypass deduplication.

https://github.com/grafana/pyroscope/pull/2586

```[tasklist]
- [x] MergeStacktraces according to block plan https://github.com/grafana/pyroscope/pull/2586
- [x] MergeStacktraces while ignoring the labels
- [ ] Use the block plan for the SelectSeries endpoint
- [ ] Use the block plan for the LabelName/LabelValues/ProfileTypes endpoint
- [x] Use the block plan for the MergePprof endpoint
- [x] Use the block plan for the MergeByLabels endpoint
- [ ] Remove queryStoreAfter
- [ ] Move creation of blockPlan to query frontend and split according to the boundaries discovered by block plan
- [ ] Reduce ingester local store
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.