pgsql: Move wal_buffers_full from PgStat_PendingWalStats to WalUsage - Mailing list pgsql-committers

From Michael Paquier
Subject pgsql: Move wal_buffers_full from PgStat_PendingWalStats to WalUsage
Date
Msg-id E1tjsYS-007XrG-Pw@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Move wal_buffers_full from PgStat_PendingWalStats to WalUsage

wal_buffers_full has been introduced in pg_stat_wal in 8d9a935965f, as
some information providing metrics for the tuning of the GUC
wal_buffers.  WalUsage has been introduced before that in df3b181499.

Moving this field is proving to be beneficial for several reasons:
- This information can now be made available in more layers, providing
more granularity than just pg_stat_wal, on a per-query basis: EXPLAIN,
pgss and VACUUM/ANALYZE logs.
- A patch is under discussion to provide statistics for WAL at backend
level, and this move simplifies a bit the handling of pending
statistics.  The remaining data in PgStat_PendingWalStats now relates to
write/sync counters and times, with equivalents present in pg_stat_io,
that backend statistics are able to already track.  So this should cut
all the dependencies between PgStat_PendingWalStats and WAL stats at
backend level.

As of this change, wal_buffers_full only shows in pg_stat_wal.

Author: Bertrand Drouvot
Reviewed-by: Ilia Evdokimov
Discussion: https://postgr.es/m/Z6SOha5YFFgvpwQY@ip-10-97-1-34.eu-west-3.compute.internal

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/eaf502747bacee0122668eb1ba3979f86b8d8342

Modified Files
--------------
src/backend/access/transam/xlog.c       | 2 +-
src/backend/executor/instrument.c       | 2 ++
src/backend/utils/activity/pgstat_wal.c | 2 +-
src/include/executor/instrument.h       | 1 +
src/include/pgstat.h                    | 1 -
5 files changed, 5 insertions(+), 3 deletions(-)


pgsql-committers by date:

Previous
From: Alexander Korotkov
Date:
Subject: pgsql: Get rid of WALBufMappingLock
Next
From: Michael Paquier
Date:
Subject: pgsql: pg_stat_statements: Add wal_buffers_full