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(-)

Reply via email to