apache / apache/pinot

Create a dashboard for most expensive queries per table

Open
#6,378 2 comments 2 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
6.1k
Forks
1.5k
Avg merge
1d 21h
Merged PRs (30d)
189

Description

In many production settings, a Pinot cluster can handle thousand of queries per second. Expensive queries can greatly impact the overall system performance. Right now, users of Pinot have to rely on external mechanisms of pinpoint these costly queries. Namely, one has to export the broker query logs with query stats and then rely on tools like Kibana to filter and find those queries.

We propose to add query monitoring to Pinot controller console. The query monitoring console should show the most expensive (according to query stats like number of docs/entries scanned) queries per table in the past N days. One can use the dashboard to:

1. Find out the most expensive queries per table.
2. Help to find missing index config for the corresponding table.
3. (Nice to have) allow users to create the indexes to improve query performance.

@icefury71 @Jackie-Jiang

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the Pinot controller console and the broker query logs with their query stats, then compare how Kibana currently identifies costly queries. Done means the console presents the most expensive queries per table over a selectable past-N-day period; index creation is explicitly marked as a nice-to-have.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
analytics, observability, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.