From: Michael Paquier Date: Mon, 3 Feb 2025 02:19:58 +0000 (+0900) Subject: Improve comment on top of pgstat_count_io_op_time() X-Git-Tag: REL_18_BETA1~959 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=b998fedab74c6cf4e564c17f4171881759a093ee;p=postgresql.git 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 --- 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,