postgresql/src/include/executor
Michael Paquier efb0ef909f Track I/O timing for temporary file blocks in EXPLAIN (BUFFERS)
Previously, the output of EXPLAIN (BUFFERS) option showed only the I/O
timing spent reading and writing shared and local buffers.  This commit
adds on top of that the I/O timing for temporary buffers in the output
of EXPLAIN (for spilled external sorts, hashes, materialization. etc).
This can be helpful for users in cases where the I/O related to
temporary buffers is the bottleneck.

Like its cousin, this information is available only when track_io_timing
is enabled.  Playing the patch, this is showing an extra overhead of up
to 1% even when using gettimeofday() as implementation for interval
timings, which is slightly within the usual range noise still that's
measurable.

Author: Masahiko Sawada
Reviewed-by: Georgios Kokolatos, Melanie Plageman, Julien Rouhaud,
Ranier Vilela
Discussion: https://postgr.es/m/CAD21AoAJgotTeP83p6HiAGDhs_9Fw9pZ2J=_tYTsiO5Ob-V5GQ@mail.gmail.com
2022-04-08 11:27:21 +09:00
..
execAsync.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
execExpr.h JSON_TABLE 2022-04-04 16:03:47 -04:00
execParallel.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
execPartition.h Revert "Rewrite some RI code to avoid using SPI" 2022-04-07 23:42:13 +02:00
execdebug.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
execdesc.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
executor.h Revert "Rewrite some RI code to avoid using SPI" 2022-04-07 23:42:13 +02:00
functions.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
hashjoin.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
instrument.h Track I/O timing for temporary file blocks in EXPLAIN (BUFFERS) 2022-04-08 11:27:21 +09:00
nodeAgg.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeAppend.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeBitmapAnd.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeBitmapHeapscan.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeBitmapIndexscan.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeBitmapOr.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeCtescan.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeCustom.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeForeignscan.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeFunctionscan.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeGather.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeGatherMerge.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeGroup.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeHash.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeHashjoin.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeIncrementalSort.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeIndexonlyscan.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeIndexscan.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeLimit.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeLockRows.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeMaterial.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeMemoize.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeMergeAppend.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeMergejoin.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeModifyTable.h Add support for MERGE SQL command 2022-03-28 16:47:48 +02:00
nodeNamedtuplestorescan.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeNestloop.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeProjectSet.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeRecursiveunion.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeResult.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeSamplescan.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeSeqscan.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeSetOp.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeSort.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeSubplan.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeSubqueryscan.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeTableFuncscan.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeTidrangescan.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeTidscan.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeUnique.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeValuesscan.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeWindowAgg.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
nodeWorktablescan.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
spi.h Add support for MERGE SQL command 2022-03-28 16:47:48 +02:00
spi_priv.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
tablefunc.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
tqueue.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
tstoreReceiver.h Update copyright for 2022 2022-01-07 19:04:57 -05:00
tuptable.h Update copyright for 2022 2022-01-07 19:04:57 -05:00