Re: Pluggable cumulative statistics

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-07-09T07:32:05Z
Lists: pgsql-hackers
On Tue, Jul 09, 2024 at 05:23:03AM +0000, Bertrand Drouvot wrote:
> I gave a second thought on it, and I think that this is the "data" part that lead
> to the confusion (as too generic), what about?
> 
> shared_data_len -> shared_stats_len
> shared_data_off -> shared_stats_off
> 
> That looks ok to me even in the snapshot context (shared is fine after all
> because that's where the stats come from).

I'd tend to prefer the original suggestion because of the snapshot
context, actually, as the fixed-numbered stats in a snapshot are a
copy of what's in shmem, and that's not shared at all.

The rename is not the most important part, still if others have an
opinion, feel free.
--
Michael

Commits

  1. injection_points: Add some fixed-numbered statistics

  2. injection_points: Add some cumulative stats for injection points

  3. Add helper routines to retrieve data for custom fixed-numbered pgstats

  4. Introduce pluggable APIs for Cumulative Statistics

  5. Switch PgStat_Kind from an enum to a uint32 type

  6. Improve comment of pgstat_read_statsfile()

  7. Add a new 'F' entry type for fixed-numbered stats in pgstats file

  8. Add PgStat_KindInfo.init_shmem_cb

  9. Use pgstat_kind_infos to write fixed shared statistics

  10. Replace hardcoded identifiers of pgstats file by #defines