Re: Fwd: [BUG]: the walsender does not update its IO statistics until it exits
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Xuneng Zhou <xunengzhou@gmail.com>
Cc: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>, Andres Freund <andres@anarazel.de>, pgsql-hackers@lists.postgresql.org
Date: 2025-03-23T23:41:20Z
Lists: pgsql-hackers
On Wed, Mar 19, 2025 at 04:00:49PM +0800, Xuneng Zhou wrote: > Hi, > Moving the other two provides a more complete view of the settings. For > newcomers(like me) to the codebase, seeing all three related values in one > place helps avoid a narrow view of the settings. > > But I am not sure that I understand the cons of this well. While I don't disagree with the use of a hardcoded interval of time to control timing the flush of the WAL sender stats, do we really need to rely on the timing defined by pgstat.c? Wouldn't it be simpler to assign one in walsender.c and pick up a different, perhaps higher, value? At the end the timestamp calculations are free because we can rely on the existing call of GetCurrentTimestamp() for the physical WAL senders to get an idea of the current time. For the logical WAL senders, perhaps we'd better do the reports in WalSndWaitForWal(), actually. There is also a call to GetCurrentTimestamp() that we can rely on in this path. -- Michael
Commits
-
Flush the IO statistics of active WAL senders more frequently
- e2a82cd23a88 16.9 landed
- 5cbbe70a9cc6 17.5 landed
- 039549d70f6a 18.0 landed
-
Optimize check for pending backend IO stats
- 6d3ea48ff1ae 18.0 landed