Re: Showing I/O timings spent reading/writing temp buffers in EXPLAIN
Julien Rouhaud <rjuju123@gmail.com>
From: Julien Rouhaud <rjuju123@gmail.com>
To: Masahiko Sawada <sawada.mshk@gmail.com>
Cc: gkokolatos@pm.me, Ranier Vilela <ranier.vf@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>, depesz@depesz.com
Date: 2022-04-05T03:57:14Z
Lists: pgsql-hackers
On Tue, Apr 05, 2022 at 10:40:04AM +0900, Masahiko Sawada wrote: > On Tue, Apr 5, 2022 at 1:31 AM Julien Rouhaud <rjuju123@gmail.com> wrote: > > > > Yes. In normal circumstances it shouldn't need a lot of time to do that, but > > I'm not so sure with e.g. network filesystems. I'm not strongly in favor of > > counting it, especially since smgrextend doesn't either. > > Good point. I think that adding a new place to track I/O timing can be > a separate patch so probably we can work on it for PG16 or later. Agreed. > I've attached updated patches, please review it. It looks good to me, just one minor thing in 002: @@ -183,8 +184,10 @@ typedef struct Counters int64 local_blks_written; /* # of local disk blocks written */ int64 temp_blks_read; /* # of temp blocks read */ int64 temp_blks_written; /* # of temp blocks written */ - double blk_read_time; /* time spent reading, in msec */ - double blk_write_time; /* time spent writing, in msec */ + double blk_read_time; /* time spent reading blocks, in msec */ + double blk_write_time; /* time spent writing blocks, in msec */ + double temp_blk_read_time; /* time spent reading temp blocks, in msec */ + double temp_blk_write_time; /* time spent writing temp blocks, in msec */ maybe the comments should respectively be data file blocks and temp file blocks. This is a minor detail and the rest of the patch looks good to me, so I'm marking the patch as Ready for Committer!
Commits
-
pg_stat_statements: Track I/O timing for temporary file blocks
- 76cbf7edb638 15.0 landed
-
Track I/O timing for temporary file blocks in EXPLAIN (BUFFERS)
- efb0ef909f60 15.0 landed
-
Force track_io_timing off in explain.sql to avoid failures when enabled.
- 7e12256b478b 15.0 cited