mirror of
https://github.com/postgres/postgres.git
synced 2025-07-11 10:01:57 +03:00
Track temporary file count and size in pg_stat_database
Add counters for number and size of temporary files used for spill-to-disk queries for each database to the pg_stat_database view. Tomas Vondra, review by Magnus Hagander
This commit is contained in:
@ -47,7 +47,8 @@ typedef enum StatMsgType
|
||||
PGSTAT_MTYPE_BGWRITER,
|
||||
PGSTAT_MTYPE_FUNCSTAT,
|
||||
PGSTAT_MTYPE_FUNCPURGE,
|
||||
PGSTAT_MTYPE_RECOVERYCONFLICT
|
||||
PGSTAT_MTYPE_RECOVERYCONFLICT,
|
||||
PGSTAT_MTYPE_TEMPFILE
|
||||
} StatMsgType;
|
||||
|
||||
/* ----------
|
||||
@ -376,6 +377,18 @@ typedef struct PgStat_MsgRecoveryConflict
|
||||
int m_reason;
|
||||
} PgStat_MsgRecoveryConflict;
|
||||
|
||||
/* ----------
|
||||
* PgStat_MsgTempFile Sent by the backend upon creating a temp file
|
||||
* ----------
|
||||
*/
|
||||
typedef struct PgStat_MsgTempFile
|
||||
{
|
||||
PgStat_MsgHdr m_hdr;
|
||||
|
||||
Oid m_databaseid;
|
||||
size_t m_filesize;
|
||||
} PgStat_MsgTempFile;
|
||||
|
||||
/* ----------
|
||||
* PgStat_FunctionCounts The actual per-function counts kept by a backend
|
||||
*
|
||||
@ -507,6 +520,9 @@ typedef struct PgStat_StatDBEntry
|
||||
PgStat_Counter n_conflict_snapshot;
|
||||
PgStat_Counter n_conflict_bufferpin;
|
||||
PgStat_Counter n_conflict_startup_deadlock;
|
||||
PgStat_Counter n_temp_files;
|
||||
PgStat_Counter n_temp_bytes;
|
||||
|
||||
TimestampTz stat_reset_timestamp;
|
||||
|
||||
|
||||
@ -735,6 +751,7 @@ extern void pgstat_initialize(void);
|
||||
extern void pgstat_bestart(void);
|
||||
|
||||
extern void pgstat_report_activity(BackendState state, const char *cmd_str);
|
||||
extern void pgstat_report_tempfile(size_t filesize);
|
||||
extern void pgstat_report_appname(const char *appname);
|
||||
extern void pgstat_report_xact_timestamp(TimestampTz tstamp);
|
||||
extern void pgstat_report_waiting(bool waiting);
|
||||
|
Reference in New Issue
Block a user