explain analyze output with parallel workers - question about meaning of information for explain.depesz.com
hubert depesz lubaczewski <depesz@depesz.com>
From: hubert depesz lubaczewski <depesz@depesz.com>
To: pgsql-hackers mailing list <pgsql-hackers@postgresql.org>
Date: 2017-11-24T11:21:51Z
Lists: pgsql-hackers
Hi, up to parallel executions, when we had node in explain analyze showing "loops=x" with x more than 1, it meant that the "actual time" had to be multiplied by loops to get real time spent in a node. For example, check step 13 in https://explain.depesz.com/s/gNBd It shows time of 3ms, but loops of 1873, so the actual time is ~ 5600ms. But with parallel execution it seems to be no longer the case. For example: https://explain.depesz.com/s/LTMp or https://explain.depesz.com/s/QHRi It looks that the actual time is really actual time, and loops is "worker nodes + 1". Is that really the case? Should I, for explain.depesz.com, when dealing with partial* and parallel* nodes, use "loops=1" for calculation of exclusive/inclusive time? always? some other nodes? or am I missing something in here? Best regards, depesz
Commits
-
Back-port fix for accumulation of parallel worker instrumentation.
- 2157a61b5aa3 9.6.7 landed
-
Test instrumentation of Hash nodes with parallel query.
- 7d3583ad9ae5 11.0 landed
-
Try again to fix accumulation of parallel worker instrumentation.
- 72567f617460 10.2 landed
- 8526bcb2df76 11.0 landed
-
Revert "Fix accumulation of parallel worker instrumentation."
- 7b3f85073c8d 10.2 landed
- 1d6fb35ad629 11.0 landed
-
Fix accumulation of parallel worker instrumentation.
- 778e78ae9fa5 10.2 landed
- 2c09a5c12a66 11.0 landed