Re: Add new option 'all' to pg_stat_reset_shared()

torikoshia <torikoshia@oss.nttdata.com>

From: torikoshia <torikoshia@oss.nttdata.com>
To: Andres Freund <andres@anarazel.de>, boekewurm+postgres@gmail.com
Cc: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, Michael Paquier <michael@paquier.xyz>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, pgsql-hackers@postgresql.org
Date: 2023-11-06T06:09:28Z
Lists: pgsql-hackers

Attachments

Thanks all for the comments!

On Fri, Nov 3, 2023 at 5:17 AM Matthias van de Meent 
<boekewurm+postgres@gmail.com> wrote:
> Knowing that your metrics have a shared starting point can be quite
> valuable, as it allows you to do some math that would otherwise be
> much less accurate when working with stats over a short amount of
> time. I've not used these stats systems much myself, but skew between
> metrics caused by different reset points can be difficult to detect
> and debug, so I think an atomic call to reset all these stats could be
> worth implementing.

Since each stats, except wal_prefetch was reset acquiring LWLock, 
attached PoC patch makes the call atomic by using these LWlocks.

If this is the right direction, I'll try to make wal_prefetch also take 
LWLock.

On 2023-11-04 10:49, Andres Freund wrote:

> Yes, agreed. However, I'd suggest adding pg_stat_reset_shared(), 
> instead of
> pg_stat_reset_shared('all') for this purpose.

In the attached PoC patch the shared statistics are reset by calling 
pg_stat_reset_shared() not pg_stat_reset_shared('all').

-- 
Regards,

--
Atsushi Torikoshi
NTT DATA Group Corporation

Commits

  1. Add target "slru" to pg_stat_reset_shared()

  2. doc: Improve description of targets for pg_stat_reset_shared()

  3. Add support for pg_stat_reset_slru without argument

  4. Add ability to reset all shared stats types in pg_stat_reset_shared()