diff options
author | Michael Paquier <michael@paquier.xyz> | 2023-10-18 14:54:39 +0900 |
---|---|---|
committer | Michael Paquier <michael@paquier.xyz> | 2023-10-18 14:54:39 +0900 |
commit | 2308f18c073333babdcc45139d691a74fae87863 (patch) | |
tree | 993847123e4ed708c77e894ca2917505604dc802 | |
parent | 4a427b82cf19f1b05ca9e26704f8f924af758ded (diff) | |
download | postgresql-2308f18c073333babdcc45139d691a74fae87863.tar.gz postgresql-2308f18c073333babdcc45139d691a74fae87863.zip |
Count write times when extending relation files for shared buffers
Relation files extended multiple blocks at a time have been counting the
number of blocks written, but forgot that to increment the write time in
this case, as write and relation extension are treated as two different
I/O operations in the shared stats: IOOP_EXTEND vs IOOP_WRITE. In this
case IOOP_EXTEND was forgotten for normal (non-temporary) relations.
Write times are tracked when track_io_timing is enabled, which is not
the case by default.
Author: Nazir Bilal Yavuz
Reviewed-by: Robert Haas, Melanie Plageman
Discussion: https://postgr.es/m/CAN55FZ19Ss279mZuqGbuUNxka0iPbLgYuOQXqAKewrjNrp27VA@mail.gmail.com
Backpatch-through: 16
-rw-r--r-- | src/backend/utils/activity/pgstat_io.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/utils/activity/pgstat_io.c b/src/backend/utils/activity/pgstat_io.c index eb7d35d4225..8ec86701997 100644 --- a/src/backend/utils/activity/pgstat_io.c +++ b/src/backend/utils/activity/pgstat_io.c @@ -119,7 +119,7 @@ pgstat_count_io_op_time(IOObject io_object, IOContext io_context, IOOp io_op, INSTR_TIME_SET_CURRENT(io_time); INSTR_TIME_SUBTRACT(io_time, start_time); - if (io_op == IOOP_WRITE) + if (io_op == IOOP_WRITE || io_op == IOOP_EXTEND) { pgstat_count_buffer_write_time(INSTR_TIME_GET_MICROSEC(io_time)); if (io_object == IOOBJECT_RELATION) |