Designing our alpha

While we’ve been building the back end of pgMustard, we’ve also been playing around with what an early version could look like.

As a reminder, pgMustard will be a performance tuner for Postgres — you put in an execution plan, and get a visualisation of the query, along with schema and query tuning suggestions, in return.

Inspiration

As I previously wrote, we’re inspired by tools like PEV and explain.depesz.com, but believe that adding more advice would be valuable, and that we could improve on the user experience.

In terms of user experience, we want to present the information in a clearer way, giving easy access to the important details and advice, while removing the clutter.

Submitting the query plan

The process starts with you submitting a query plan. We want to keep this step simple and functional, with a reminder that we need plans in JSON format, but not much else.

It’ll look something like this:

505b3-1zswdu-bqfx0g3gqafnk_4w.png

Visualisation and advice

We’re keen to save you time, so while there may be a lot of information in the plan, we aim to simplify this and only display what matters.

A table view will allow for sorting the nodes by time taken, and a tree view will emphasise the structure of the query more clearly. We’re keen to link the two, perhaps by keeping their select / highlight state in sync.

We also want to draw attention to any advice we have, if one of the tips we support is appropriate. We’ll mark these with a mustard-coloured heart, 💛.

f17a7-1ohu-ub7dz45qk9ofunciog.png

Highlighting the right information is likely to be an ongoing challenge for us. We think being sparing with colour, to avoid highlighting too much, would help. It would be nice for our heart(s) to stand out, even for a longer plan.

The combination of both table and tree views will be tricky to keep simple, but hopefully they make up for that with additional context, which should save time understanding the plan.

You’re wrong

Please tell us how! We’re not precious, feel free to comment here, get in touch on Twitter, or reply to an email (see below). Big thanks to those who have already given us feedback, and we look forward to hearing from more of you.

Stay in the loop

If you’d like to stay up to date on our progress, the best way is to sign up on our website.

🐘💛