Refactor some code related to backend statistics This commit changes the way pending backend statistics are tracked by moving them into a new structure called PgStat_BackendPending, removing PgStat_BackendPendingIO. PgStat_BackendPending currently only includes PgStat_PendingIO for the pending I/O stats.
pgstat_flush_backend() is extended with a "flags" argument to control which parts of the stats of a backend should be flushed. With this refactoring, it becomes easier to plug into backend statistics more data. A patch to add information related to WAL in this stats kind is under discussion. Author: Bertrand Drouvot Discussion: https://postgr.es/m/Z3zqc4o09dM/e...@ip-10-97-1-34.eu-west-3.compute.internal Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/2c14037bb57c091b9f0bcbd36fa62138601beb55 Modified Files -------------- src/backend/utils/activity/pgstat.c | 2 +- src/backend/utils/activity/pgstat_backend.c | 69 ++++++++++++++++++++-------- src/backend/utils/activity/pgstat_io.c | 8 ++-- src/backend/utils/activity/pgstat_relation.c | 4 +- src/backend/utils/adt/pgstatfuncs.c | 2 +- src/include/pgstat.h | 17 +++++-- src/include/utils/pgstat_internal.h | 7 ++- src/tools/pgindent/typedefs.list | 2 +- 8 files changed, 76 insertions(+), 35 deletions(-)