Changes on explain.depesz.com

Today there were some changes on explain.depesz.com – a bugfix, and functionality improvement.

Bugfix was related to the most controversial feature – that is anonymization. Apparently, when anonymizing explains that are not for SELECT query (but rather insert/update/delete), table name was not anonymized.

For example, check this plan:

                                                QUERY PLAN
----------------------------------------------------------------------------------------------------------
 UPDATE ON test  (cost=0.00..40.00 ROWS=2400 width=10) (actual TIME=0.065..0.065 ROWS=0 loops=1)
   ->  Seq Scan ON test  (cost=0.00..40.00 ROWS=2400 width=10) (actual TIME=0.011..0.018 ROWS=20 loops=1)
 Total runtime: 0.095 ms

Previously it was anonymized to this version. Which makes it unreadable, because there is apparently no relation between “victor" and “test".

But now, it gets properly anonymized to this.

While working on it, I made it anonymize also function names in “Function Scan" calls, like in plan:

                                                        QUERY PLAN
---------------------------------------------------------------------------------------------------------------------------
 INSERT ON test  (cost=0.00..10.00 ROWS=1000 width=4) (actual TIME=0.090..0.090 ROWS=0 loops=1)
   ->  FUNCTION Scan ON generate_series i  (cost=0.00..10.00 ROWS=1000 width=4) (actual TIME=0.013..0.014 ROWS=10 loops=1)
 Total runtime: 0.135 ms
(3 ROWS)

Which gets anonymized now to this.

Anonymization is not for everybody, and I understand that some people don't like it. But surprisingly many do use it (numbers provided below).

The other change is a bit more important. When you have long explain, and you want to talk with somebody about it, it would be good to be able to point which line/node you're talking about.

xocolatl on irc requested addition of line numbers, and (with huge help from original web developer – metys) I delivered.

There is new column, with line numbers. You can click on them to jump to given line, and it also works with urls.

Of course, as with any other – this column can be hidden in options.

Hope you like it.

Of course, as always, some statistics.

  • total number of plans: 52389
  • public/private split is almost exactly 50/50% – 50.26% plans are public
  • in October, for the first time, we passed 100 new plans per day on average – that is – there were 3137 new plans added on this month
  • this month can set new record, as so far we had 1843 new plans, for amazing 230 plans per day average!
  • anonymization is being used in 10-11% of cases

As a final line: on 13th of April, I added donation button to the page. And recently (on October, 30th) I got my first donation. Thanks a lot, mw44118.