diff options
author | Andres Freund <andres@anarazel.de> | 2023-04-07 16:05:26 -0700 |
---|---|---|
committer | Andres Freund <andres@anarazel.de> | 2023-04-07 17:04:56 -0700 |
commit | ac8d53dae5ae2914aeb022dc514826f71c7206e6 (patch) | |
tree | 04720e046622d3676452a9f4d6aa655820fbf8d8 /doc/src | |
parent | 1c453cfd8976d9c6451ba45e27bf30375d574312 (diff) |
Track IO times in pg_stat_io
a9c70b46dbe and 8aaa04b32S added counting of IO operations to a new view,
pg_stat_io. Now, add IO timing for reads, writes, extends, and fsyncs to
pg_stat_io as well.
This combines the tracking for pgBufferUsage with the tracking for pg_stat_io
into a new function pgstat_count_io_op_time(). This should make it a bit
easier to avoid the somewhat costly instr_time conversion done for
pgBufferUsage.
Author: Melanie Plageman <melanieplageman@gmail.com>
Reviewed-by: Andres Freund <andres@anarazel.de>
Reviewed-by: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Discussion: https://postgr.es/m/flat/CAAKRu_ay5iKmnbXZ3DsauViF3eMxu4m1oNnJXqV_HyqYeg55Ww%40mail.gmail.com
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/monitoring.sgml | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index bce9ae46615..7da135d2f2f 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -3817,6 +3817,18 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i <row> <entry role="catalog_table_entry"> <para role="column_definition"> + <structfield>read_time</structfield> <type>double precision</type> + </para> + <para> + Time spent in read operations in milliseconds (if + <xref linkend="guc-track-io-timing"/> is enabled, otherwise zero) + </para> + </entry> + </row> + + <row> + <entry role="catalog_table_entry"> + <para role="column_definition"> <structfield>writes</structfield> <type>bigint</type> </para> <para> @@ -3829,6 +3841,18 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i <row> <entry role="catalog_table_entry"> <para role="column_definition"> + <structfield>write_time</structfield> <type>double precision</type> + </para> + <para> + Time spent in write operations in milliseconds (if + <xref linkend="guc-track-io-timing"/> is enabled, otherwise zero) + </para> + </entry> + </row> + + <row> + <entry role="catalog_table_entry"> + <para role="column_definition"> <structfield>extends</structfield> <type>bigint</type> </para> <para> @@ -3841,6 +3865,18 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i <row> <entry role="catalog_table_entry"> <para role="column_definition"> + <structfield>extend_time</structfield> <type>double precision</type> + </para> + <para> + Time spent in extend operations in milliseconds (if + <xref linkend="guc-track-io-timing"/> is enabled, otherwise zero) + </para> + </entry> + </row> + + <row> + <entry role="catalog_table_entry"> + <para role="column_definition"> <structfield>op_bytes</structfield> <type>bigint</type> </para> <para> @@ -3916,6 +3952,18 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i <row> <entry role="catalog_table_entry"> <para role="column_definition"> + <structfield>fsync_time</structfield> <type>double precision</type> + </para> + <para> + Time spent in fsync operations in milliseconds (if + <xref linkend="guc-track-io-timing"/> is enabled, otherwise zero) + </para> + </entry> + </row> + + <row> + <entry role="catalog_table_entry"> + <para role="column_definition"> <structfield>stats_reset</structfield> <type>timestamp with time zone</type> </para> <para> @@ -3978,6 +4026,17 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i </itemizedlist> </para> + <note> + <para> + Columns tracking I/O time will only be non-zero when + <xref linkend="guc-track-io-timing"/> is enabled. The user should be + careful when referencing these columns in combination with their + corresponding IO operations in case <varname>track_io_timing</varname> + was not enabled for the entire time since the last stats reset. + </para> + </note> + + </sect2> |