Long time ago I wrote small program to filter EXPLAIN ANALYZE output, and add summary of time.
A bit later (I guess, I don't recall exact time line, it could have been earlier) Michael Glaesemann started explain-analyze.info – cool tool for checking what might be wrong with given plan.
I'm not really happy with the emphasis Michael put on bad rowcount estimates, so I decided to write my own tool. Enter explain.depesz.com.
Basic idea is: paste your explain analyze plan, and see the output. You can click on column headers to let it know which parameter is the most important for you – exclusive node time, inclusive node time, or rowcount mis-estimate.
It is definitely not perfect. I know of at least 1 bug now, and will fix it in not-distant future.
But, as for now – you can test it, play it, or simply use it. If you'd like to change/fix something – sources are freely available. Just be warned – it's Perl ;-P
It looks very nice. What do the yellow and red colors represent?
for exclusive and inclusive times, it shows how many parcent of total query time is spent in given node (either exclusive time or inclusive).
for rows – x the color depends on size of planner mistake.
if planner misestimated number of rows 10 times – it will be yellow. 100 times – mix between yellow and red. 1000 times – color is red.
“He also introduces explain.depesz.com, a web-based EXPLAIN ANALYZE filter…” — Log Buffer #126
What license is the code under?
BSD. Just added license file to github repo
Thanks for this good work. I got a query from 30 mins down to 10 secs because of your work. For me, the “Stats” tab is the most useful way to pin point problem areas in big queries.
Great tool!
Question: do you plan to support the json/yaml output of autoexplain too?
@Hendrik:
did you try? If it didn’t work – send me the explain output that didn’t work, i’ll look into it.