Thread: pgsql: injection_points: Add some fixed-numbered statistics

pgsql: injection_points: Add some fixed-numbered statistics

From
Michael Paquier
Date:
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

Branch
------
master

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

Modified Files
--------------
src/test/modules/injection_points/Makefile         |   3 +-
.../injection_points/injection_points--1.0.sql     |  11 ++
.../modules/injection_points/injection_points.c    |   4 +
.../modules/injection_points/injection_stats.h     |   7 +
.../injection_points/injection_stats_fixed.c       | 192 +++++++++++++++++++++
src/test/modules/injection_points/meson.build      |   1 +
src/test/modules/injection_points/t/001_stats.pl   |  11 +-
src/tools/pgindent/typedefs.list                   |   2 +
8 files changed, 229 insertions(+), 2 deletions(-)