injection_points: Add some fixed-numbered statistics
authorMichael Paquier <michael@paquier.xyz>
Mon, 5 Aug 2024 03:29:22 +0000 (12:29 +0900)
committerMichael Paquier <michael@paquier.xyz>
Mon, 5 Aug 2024 03:29:22 +0000 (12:29 +0900)
commitf68cd847fa40ead44a786b9c34aff9ccc048004b
tree8b50ebd78f05d1a75892b87d7b5cc51bdea105e5
parent75534436a477474ea05004b7fbed21e20cea774a
injection_points: Add some fixed-numbered statistics

Like 75534436a477, this acts mainly as a template to show what can be
achieved with fixed-numbered stats (like WAL, bgwriter, etc.) with the
pluggable cumulative statistics APIs introduced in 7949d9594582.

Fixed-numbered stats are defined in their own file, named
injection_stats_fixed.c, separated entirely from the variable-numbered
case in injection_stats.c.  This is mainly for clarity as having both
examples in the same file would be confusing.

Note that this commit uses the helper routines added in 2eff9e678d35.
The stats stored track globally the number of times injection points
have been attached, detached or run.  Two more fields should be added
later for the number of times a point has been cached or loaded, but
what's here is enough as a template.

More TAP tests are added, providing coverage for fixed-numbered custom
stats.

Author: Michael Paquier
Reviewed-by: Dmitry Dolgov, Bertrand Drouvot
Discussion: https://postgr.es/m/Zmqm9j5EO0I4W8dx@paquier.xyz
src/test/modules/injection_points/Makefile
src/test/modules/injection_points/injection_points--1.0.sql
src/test/modules/injection_points/injection_points.c
src/test/modules/injection_points/injection_stats.h
src/test/modules/injection_points/injection_stats_fixed.c [new file with mode: 0644]
src/test/modules/injection_points/meson.build
src/test/modules/injection_points/t/001_stats.pl
src/tools/pgindent/typedefs.list