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

From: Melanie Plageman <[email-masked]>
Date: Mon, 2 Jan 2023 20:15:54 -0500

On Mon, Jan 2, 2023 at 5:46 PM Melanie Plageman
<[email-masked]> wrote:
>
> Besides docs, there is one large change to the code which I am currently
> working on, which is to change PgStat_IOOpCounters into an array of
> PgStatCounters instead of having individual members for each IOOp type.
> I hadn't done this previously because the additional level of nesting
> seemed confusing. However, it seems it would simplify the code quite a
> bit and is probably worth doing.

As described above, attached v43 uses an array for the PgStatCounters of
IOOps instead of struct members.

---

From: Melanie Plageman <[email-masked]>
Date: Wed, 4 Jan 2023 17:56:07 -0500

> IOOps instead of struct members.

This wasn't quite a multi-dimensional array. Attached is v44, in which I
have removed all of the granular struct types -- PgStat_IOOps,
PgStat_IOContext, and PgStat_IOObject by collapsing them into a single
array of PgStat_Counters in a new struct PgStat_BackendIO. I needed to
keep this in addition to PgStat_IO to have a data type for backends to
track their stats in locally.

I've also done another round of cleanup.

- Melanie