From b27f8637ea708c4b6113f0d29a76cb411b430a27 Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Sun, 30 Mar 2025 18:04:40 -0400 Subject: [PATCH] docs: Reframe track_io_timing related docs as wait time With AIO it does not make sense anymore to track the time for each individual IO, as multiple IOs can be in-flight at the same time. Instead we now track the time spent *waiting* for IOs. This should be reflected in the docs. While, so far, we only do a subset of reads, and no other operations, via AIO, describing the GUC and view columns as measuring IO waits is accurate for synchronous and asynchronous IO. Reviewed-by: Noah Misch Discussion: https://postgr.es/m/5dzyoduxlvfg55oqtjyjehez5uoq6hnwgzor4kkybkfdgkj7ag@rbi4gsmzaczk --- doc/src/sgml/config.sgml | 4 ++-- doc/src/sgml/monitoring.sgml | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 65ab95be370..f55f38cb85b 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -8568,7 +8568,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; - Enables timing of database I/O calls. This parameter is off by + Enables timing of database I/O waits. This parameter is off by default, as it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms. You can use the tool to @@ -8602,7 +8602,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; - Enables timing of WAL I/O calls. This parameter is off by default, + Enables timing of WAL I/O waits. This parameter is off by default, as it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms. You can use the pg_test_timing tool to diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index bacc09cb8af..a6d67d2fbaa 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -2747,7 +2747,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage read_time double precision - Time spent in read operations in milliseconds (if + Time spent waiting for read operations in milliseconds (if is enabled and object is not wal, or if is enabled @@ -2785,7 +2785,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage write_time double precision - Time spent in write operations in milliseconds (if + Time spent waiting for write operations in milliseconds (if is enabled and object is not wal, or if is enabled @@ -2813,7 +2813,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage writeback_time double precision - Time spent in writeback operations in milliseconds (if + Time spent waiting for writeback operations in milliseconds (if is enabled, otherwise zero). This includes the time spent queueing write-out requests and, potentially, the time spent to write out the dirty data. @@ -2849,7 +2849,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage extend_time double precision - Time spent in extend operations in milliseconds. (if + Time spent waiting for extend operations in milliseconds. (if is enabled and object is not wal, or if is enabled @@ -2923,7 +2923,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage fsync_time double precision - Time spent in fsync operations in milliseconds (if + Time spent waiting for fsync operations in milliseconds (if is enabled and object is not wal, or if is enabled @@ -3010,7 +3010,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage - Columns tracking I/O time will only be non-zero when + Columns tracking I/O wait time will only be non-zero when is enabled. The user should be careful when referencing these columns in combination with their corresponding I/O operations in case track_io_timing -- 2.39.5