This is documentation for the next version of Pyroscope. For the latest stable release, go to the latest version.

Open source

Pyroscope query-frontend

The query-frontend is a stateless component that provides the same API as the querier and can be used to accelerate the read path and ensure fair scheduling between tenants using the query-scheduler.

In this situation, queriers act as workers that pull jobs from the queue, execute them, and return the results to the query-frontend for aggregation.

We recommend that you run at least two query-frontend replicas for high-availability reasons.

Because the query-scheduler is a mandatory component when using the query-frontend, you must run at least one query-scheduler replica.

The following steps describe how a query moves through the query-frontend.

  1. A query-frontend receives a query.
  2. The query-frontend places the query in a queue by communicating with the query-scheduler, where it waits to be picked up by a querier.
  3. A querier picks up the query from the queue and executes it.
  4. A querier or queriers return the result to query-frontend, which then aggregates and forwards the results to the client.