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]