diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 4728ca5cf46ba66961368b1ceedad25ba188d5df..e58dc18df35aa02034e1b9d93132add2059ce881 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -4288,10 +4288,10 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; </listitem> </varlistentry> - <varlistentry id="guc-track-iotiming" xreflabel="track_iotiming"> - <term><varname>track_iotiming</varname> (<type>boolean</type>)</term> + <varlistentry id="guc-track-io-timing" xreflabel="track_io_timing"> + <term><varname>track_io_timing</varname> (<type>boolean</type>)</term> <indexterm> - <primary><varname>track_iotiming</> configuration parameter</primary> + <primary><varname>track_io_timing</> configuration parameter</primary> </indexterm> <listitem> <para> @@ -4299,7 +4299,8 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; default, because it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms. You can use the <xref linkend="pgtesttiming"> tool to - measure the overhead of timing on your system. Timing information is + measure the overhead of timing on your system. + I/O timing information is displayed in <xref linkend="pg-stat-database-view">, in the output of <xref linkend="sql-explain"> when the <literal>BUFFERS</> option is used, and by <xref linkend="pgstatstatements">. Only superusers can diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index 8378f039ff2da290742e7a8b1126741a61bdd93a..c9e75e4f6f91ad5edb2f23d46beb50682d05f344 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -155,7 +155,7 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re </para> <para> - The parameter <xref linkend="guc-track-iotiming"> enables monitoring + The parameter <xref linkend="guc-track-io-timing"> enables monitoring of block read and write times. </para> diff --git a/doc/src/sgml/pgstatstatements.sgml b/doc/src/sgml/pgstatstatements.sgml index 1dd42de7815542df1f4e0af06f0f475f38306547..622018e382e71e55210d31fcfbda77f101bdf0f9 100644 --- a/doc/src/sgml/pgstatstatements.sgml +++ b/doc/src/sgml/pgstatstatements.sgml @@ -161,7 +161,7 @@ <entry></entry> <entry> Total time the statement spent reading blocks, in milliseconds - (if <xref linkend="guc-track-iotiming"> is enabled, otherwise zero) + (if <xref linkend="guc-track-io-timing"> is enabled, otherwise zero) </entry> </row> @@ -171,7 +171,7 @@ <entry></entry> <entry> Total time the statement spent writing blocks, in milliseconds - (if <xref linkend="guc-track-iotiming"> is enabled, otherwise zero) + (if <xref linkend="guc-track-io-timing"> is enabled, otherwise zero) </entry> </row> diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index ad5a97a3523ef9e128cf1ffda20cb194fc3a72e9..2141487475d839182b17897760cd9c5455aad438 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -67,7 +67,7 @@ bool zero_damaged_pages = false; int bgwriter_lru_maxpages = 100; double bgwriter_lru_multiplier = 2.0; -bool track_iotiming = false; +bool track_io_timing = false; /* * How many buffers PrefetchBuffer callers should try to stay ahead of their @@ -441,12 +441,12 @@ ReadBuffer_common(SMgrRelation smgr, char relpersistence, ForkNumber forkNum, instr_time io_start, io_time; - if (track_iotiming) + if (track_io_timing) INSTR_TIME_SET_CURRENT(io_start); smgrread(smgr, forkNum, blockNum, (char *) bufBlock); - if (track_iotiming) + if (track_io_timing) { INSTR_TIME_SET_CURRENT(io_time); INSTR_TIME_SUBTRACT(io_time, io_start); @@ -1938,7 +1938,7 @@ FlushBuffer(volatile BufferDesc *buf, SMgrRelation reln) buf->flags &= ~BM_JUST_DIRTIED; UnlockBufHdr(buf); - if (track_iotiming) + if (track_io_timing) INSTR_TIME_SET_CURRENT(io_start); smgrwrite(reln, @@ -1947,7 +1947,7 @@ FlushBuffer(volatile BufferDesc *buf, SMgrRelation reln) (char *) BufHdrGetBlock(buf), false); - if (track_iotiming) + if (track_io_timing) { INSTR_TIME_SET_CURRENT(io_time); INSTR_TIME_SUBTRACT(io_time, io_start); diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 47a18110c1d4a9eac69fd50707b8c736f1c4d515..d75ab430296897a48d6b8da18ffe947e5cb20528 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -1019,11 +1019,11 @@ static struct config_bool ConfigureNamesBool[] = NULL, NULL, NULL }, { - {"track_iotiming", PGC_SUSET, STATS_COLLECTOR, - gettext_noop("Collects timing information for database IO activity."), + {"track_io_timing", PGC_SUSET, STATS_COLLECTOR, + gettext_noop("Collects timing statistics for database I/O activity."), NULL }, - &track_iotiming, + &track_io_timing, false, NULL, NULL, NULL }, diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample index 0ac7533bebd591ebe90d9bef17ec2c68c3e77340..8feedc4a19f3dda03050fe80b22c93f4944d330e 100644 --- a/src/backend/utils/misc/postgresql.conf.sample +++ b/src/backend/utils/misc/postgresql.conf.sample @@ -425,7 +425,7 @@ #track_activities = on #track_counts = on -#track_iotiming = off +#track_io_timing = off #track_functions = none # none, pl, all #track_activity_query_size = 1024 # (change requires restart) #update_process_title = on diff --git a/src/include/storage/bufmgr.h b/src/include/storage/bufmgr.h index d72bad9f56143b36650a80fc1e16fcecd3d63fbd..17fc7cb9420b878a1f9f80260c72a5a908a573b5 100644 --- a/src/include/storage/bufmgr.h +++ b/src/include/storage/bufmgr.h @@ -48,7 +48,7 @@ extern PGDLLIMPORT int NBuffers; extern bool zero_damaged_pages; extern int bgwriter_lru_maxpages; extern double bgwriter_lru_multiplier; -extern bool track_iotiming; +extern bool track_io_timing; extern int target_prefetch_pages; /* in buf_init.c */