postgres.git / summary / log / commit / refs
commit b998fedab74c6cf4e564c17f4171881759a093ee
Author: Michael Paquier <michael@paquier.xyz>
Date: Mon Feb 03 02:19:58 2025 +0000
First released in: 18.0
Improve comment on top of pgstat_count_io_op_time()
This commit adds more documentation to pgstat_count_io_op_time() in
pgstat_io.c, explaining its internals for pgstat_count_buffer_*(),
pgBufferUsage and the contexts where these are used.
Extracted from a larger patch by the same author.
Author: Nazir Bilal Yavuz
Discussion: https://postgr.es/m/CAN55FZ3AiQ+ZMxUuXnBpd0Rrh1YhwJ5FudkHg=JU0P+-W8T4Vg@mail.gmail.com
src/backend/utils/activity/pgstat_io.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/backend/utils/activity/pgstat_io.c b/src/backend/utils/activity/pgstat_io.c
index 6ff5d9e96a1..7aee6a396f2 100644
--- a/src/backend/utils/activity/pgstat_io.c
+++ b/src/backend/utils/activity/pgstat_io.c
@@ -107,6 +107,14 @@ pgstat_prepare_io_time(bool track_io_guc)
/*
* Like pgstat_count_io_op() except it also accumulates time.
+ *
+ * The calls related to pgstat_count_buffer_*() are for pgstat_database. As
+ * pg_stat_database only counts block read and write times, these are done for
+ * IOOP_READ, IOOP_WRITE and IOOP_EXTEND.
+ *
+ * pgBufferUsage is used for EXPLAIN. pgBufferUsage has write and read stats
+ * for shared, local and temporary blocks. pg_stat_io does not track the
+ * activity of temporary blocks, so these are ignored here.
*/
void
pgstat_count_io_op_time(IOObject io_object, IOContext io_context, IOOp io_op,
[parent: fcce828529ee]