pgsql: Show Parallel Bitmap Heap Scan worker stats in EXPLAIN ANALYZE

From: David Rowley <drowley(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Show Parallel Bitmap Heap Scan worker stats in EXPLAIN ANALYZE
Date: 2024-07-09 00:16:16
Message-ID: E1sQyWm-000v23-1S@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Show Parallel Bitmap Heap Scan worker stats in EXPLAIN ANALYZE

Nodes like Memoize report the cache stats for each parallel worker, so it
makes sense to show the exact and lossy pages in Parallel Bitmap Heap Scan
in a similar way. Likewise, Sort shows the method and memory used for
each worker.

There was some discussion on whether the leader stats should include the
totals for each parallel worker or not. I did some analysis on this to
see what other parallel node types do and it seems only Parallel Hash does
anything like this. All the rest, per what's supported by
ExecParallelRetrieveInstrumentation() are consistent with each other.

Author: David Geier <geidav(dot)pg(at)gmail(dot)com>
Author: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Author: Donghang Lin <donghanglin(at)gmail(dot)com>
Author: Alena Rybakina <lena(dot)ribackina(at)yandex(dot)ru>
Author: David Rowley <dgrowleyml(at)gmail(dot)com>
Reviewed-by: Dmitry Dolgov <9erthalion6(at)gmail(dot)com>
Reviewed-by: Michael Christofides <michael(at)pgmustard(dot)com>
Reviewed-by: Robert Haas <robertmhaas(at)gmail(dot)com>
Reviewed-by: Dilip Kumar <dilipbalaut(at)gmail(dot)com>
Reviewed-by: Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>
Reviewed-by: Melanie Plageman <melanieplageman(at)gmail(dot)com>
Reviewed-by: Donghang Lin <donghanglin(at)gmail(dot)com>
Reviewed-by: Masahiro Ikeda <Masahiro(dot)Ikeda(at)nttdata(dot)com>
Discussion: https://postgr.es/m/b3d80961-c2e5-38cc-6a32-61886cdf766d%40gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/5a1e6df3b84c91957f80b19edb497a5eec83c403

Modified Files
--------------
src/backend/commands/explain.c | 58 ++++++++++++++---
src/backend/executor/execParallel.c | 3 +
src/backend/executor/nodeBitmapHeapscan.c | 105 +++++++++++++++++++++++++++---
src/include/executor/nodeBitmapHeapscan.h | 1 +
src/include/nodes/execnodes.h | 35 ++++++++--
src/tools/pgindent/typedefs.list | 2 +
6 files changed, 181 insertions(+), 23 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Fujii Masao 2024-07-09 00:30:02 pgsql: Fix limit block handling in pg_wal_summary_contents().
Previous Message David Rowley 2024-07-09 00:15:10 Re: pgsql: Teach planner how to estimate rows for timestamp generate_series