| /*------------------------------------------------------------------------- |
| * |
| * xlogstats.h |
| * Definitions for WAL Statitstics |
| * |
| * Copyright (c) 2022-2023, PostgreSQL Global Development Group |
| * |
| * IDENTIFICATION |
| * src/include/access/xlogstats.h |
| * |
| *------------------------------------------------------------------------- |
| */ |
| #ifndef XLOGSTATS_H |
| #define XLOGSTATS_H |
| |
| #include "access/rmgr.h" |
| #include "access/xlogreader.h" |
| |
| #define MAX_XLINFO_TYPES 16 |
| |
| typedef struct XLogRecStats |
| { |
| uint64 count; |
| uint64 rec_len; |
| uint64 fpi_len; |
| } XLogRecStats; |
| |
| typedef struct XLogStats |
| { |
| uint64 count; |
| #ifdef FRONTEND |
| XLogRecPtr startptr; |
| XLogRecPtr endptr; |
| #endif |
| XLogRecStats rmgr_stats[RM_MAX_ID + 1]; |
| XLogRecStats record_stats[RM_MAX_ID + 1][MAX_XLINFO_TYPES]; |
| } XLogStats; |
| |
| extern void XLogRecGetLen(XLogReaderState *record, uint32 *rec_len, |
| uint32 *fpi_len); |
| extern void XLogRecStoreStats(XLogStats *stats, XLogReaderState *record); |
| |
| #endif /* XLOGSTATS_H */ |