Re: pg_stat_bgwriter.buffers_backend is pretty meaningless (and more?)

From: Melanie Plageman <melanieplageman(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, Magnus Hagander <magnus(at)hagander(dot)net>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, Lukas Fittl <lukas(at)fittl(dot)com>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Subject: Re: pg_stat_bgwriter.buffers_backend is pretty meaningless (and more?)
Date: 2021-11-24 21:19:20
Message-ID: CAAKRu_bCavNULX2BUM1Ankr=Hc5ySbmMJCGnHCFZBbM=yMvFLA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Nov 19, 2021 at 11:49 AM Andres Freund <andres(at)anarazel(dot)de> wrote:
> > +/*
> > + * On modern systems this is really just *counter++. On some older systems
> > + * there might be more to it, due to inability to read and write 64 bit values
> > + * atomically.
> > + */
> > +static inline void inc_counter(pg_atomic_uint64 *counter)
> > +{
> > + pg_atomic_write_u64(counter, pg_atomic_read_u64(counter) + 1);
> > +}
> > +
> > #undef INSIDE_ATOMICS_H
>
> Why is this using a completely different naming scheme from the rest of the
> file?

It was what Thomas originally named it. Also, I noticed all the other
pg_atomic* in this file were wrappers around the same impl function, so
I thought maybe naming it this way would be confusing. I renamed it to
pg_atomic_inc_counter(), though maybe pg_atomic_readonly_write() would
be better?

>
> > doc/src/sgml/monitoring.sgml | 116 +++++++++++++-
> > src/backend/catalog/system_views.sql | 11 ++
> > src/backend/postmaster/checkpointer.c | 3 +-
> > src/backend/postmaster/pgstat.c | 161 +++++++++++++++++++-
> > src/backend/storage/buffer/bufmgr.c | 46 ++++--
> > src/backend/storage/buffer/freelist.c | 23 ++-
> > src/backend/storage/buffer/localbuf.c | 3 +
> > src/backend/storage/sync/sync.c | 1 +
> > src/backend/utils/activity/backend_status.c | 60 +++++++-
> > src/backend/utils/adt/pgstatfuncs.c | 152 ++++++++++++++++++
> > src/include/catalog/pg_proc.dat | 9 ++
> > src/include/miscadmin.h | 2 +
> > src/include/pgstat.h | 53 +++++++
> > src/include/storage/buf_internals.h | 4 +-
> > src/include/utils/backend_status.h | 80 ++++++++++
> > src/test/regress/expected/rules.out | 8 +
> > 16 files changed, 701 insertions(+), 31 deletions(-)
>
> This is a pretty large change, I wonder if there's a way to make it a bit more
> granular.
>

I have done this. See v15 patch set attached.

- Melanie

Attachment Content-Type Size
v15-0007-small-comment-correction.patch application/octet-stream 909 bytes
v15-0004-Add-buffers-to-pgstat_reset_shared_counters.patch application/octet-stream 8.6 KB
v15-0006-Remove-superfluous-bgwriter-stats.patch application/octet-stream 15.6 KB
v15-0003-Send-IO-operations-to-stats-collector.patch application/octet-stream 8.3 KB
v15-0005-Add-system-view-tracking-IO-ops-per-backend-type.patch application/octet-stream 17.2 KB
v15-0002-Add-IO-operation-counters-to-PgBackendStatus.patch application/octet-stream 16.4 KB
v15-0001-Read-only-atomic-backend-write-function.patch application/octet-stream 1.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message SATYANARAYANA NARLAPURAM 2021-11-24 22:12:19 Postgres restart in the middle of exclusive backup and the presence of backup_label file
Previous Message Bossart, Nathan 2021-11-24 20:53:08 Re: XMAX_LOCK_ONLY and XMAX_COMMITTED (fk/multixact code)