Menu
Open source
Pyroscope query-scheduler
The query-scheduler is a stateless component that retains a queue of queries to execute, and distributes the workload to available queriers.
The query-scheduler is a required component when using the query-frontend.
The following flow describes how a query moves through a Pyroscope cluster:
- The query-frontend receives queries, and then either splits and shards them, or serves them from the cache.
- The query-frontend enqueues the queries into a query-scheduler.
- The query-scheduler stores the queries in an in-memory queue where they wait for a querier to pick them up.
- Queriers pick up the queries, and executes them.
- The querier sends results back to query-frontend, which then forwards the results to the client.
Benefits of using the query-scheduler
Query-scheduler enables the scaling of query-frontends. To learn more, see Mimir Query Frontend documentation.
Configuration
To use the query-scheduler, query-frontends and queriers need to discover the addresses of query-scheduler instances. To advertise itself, the query-scheduler uses Ring-based service discovery which is configured via the memberlist configuration.
Operational considerations
For high-availability, run two query-scheduler replicas.
Was this page helpful?
Related resources from Grafana Labs
Additional helpful documentation, links, and articles:

Continuous profiling with Grafana Pyroscope: developer experience, flame graphs, and more
Learn about the new Grafana Pyroscope open source project and how continuous profiling can improve developer experience.

Getting started with Grafana dashboard design
In this webinar, you'll learn how to design stylish and easily accessible Grafana dashboards that tell a story.

Unify your data with Grafana plugins: Datadog, Splunk, MongoDB, and more
In this webinar, learn how to leverage Grafana's plugin ecosystem for access to 80+ data sources, including plugins for Datadog, Splunk, MongoDB, and more.