summaryrefslogtreecommitdiff
path: root/src/include/pgstat.h
diff options
context:
space:
mode:
authorMagnus Hagander2012-01-26 14:58:19 +0000
committerMagnus Hagander2012-01-26 14:58:19 +0000
commit61cb8c5abb9235c3106af6c6a6e60d94cb1eee80 (patch)
treea15bff3458b883beee010a9cc111e2c3b63bbf51 /src/include/pgstat.h
parent0e549697d1c6b8eeb623c497dc38a5aed4deea1e (diff)
Add deadlock counter to pg_stat_database
Adds a counter that tracks number of deadlocks that occurred in each database to pg_stat_database. Magnus Hagander, reviewed by Jaime Casanova
Diffstat (limited to 'src/include/pgstat.h')
-rw-r--r--src/include/pgstat.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/include/pgstat.h b/src/include/pgstat.h
index e91a0e8d89c..1281bd8b69f 100644
--- a/src/include/pgstat.h
+++ b/src/include/pgstat.h
@@ -48,7 +48,8 @@ typedef enum StatMsgType
PGSTAT_MTYPE_FUNCSTAT,
PGSTAT_MTYPE_FUNCPURGE,
PGSTAT_MTYPE_RECOVERYCONFLICT,
- PGSTAT_MTYPE_TEMPFILE
+ PGSTAT_MTYPE_TEMPFILE,
+ PGSTAT_MTYPE_DEADLOCK
} StatMsgType;
/* ----------
@@ -462,6 +463,17 @@ typedef struct PgStat_MsgFuncpurge
Oid m_functionid[PGSTAT_NUM_FUNCPURGE];
} PgStat_MsgFuncpurge;
+/* ----------
+ * PgStat_MsgDeadlock Sent by the backend to tell the collector
+ * about a deadlock that occurred.
+ * ----------
+ */
+typedef struct PgStat_MsgDeadlock
+{
+ PgStat_MsgHdr m_hdr;
+ Oid m_databaseid;
+} PgStat_MsgDeadlock;
+
/* ----------
* PgStat_Msg Union over all possible messages.
@@ -485,6 +497,7 @@ typedef union PgStat_Msg
PgStat_MsgFuncstat msg_funcstat;
PgStat_MsgFuncpurge msg_funcpurge;
PgStat_MsgRecoveryConflict msg_recoveryconflict;
+ PgStat_MsgDeadlock msg_deadlock;
} PgStat_Msg;
@@ -496,7 +509,7 @@ typedef union PgStat_Msg
* ------------------------------------------------------------
*/
-#define PGSTAT_FILE_FORMAT_ID 0x01A5BC99
+#define PGSTAT_FILE_FORMAT_ID 0x01A5BC9A
/* ----------
* PgStat_StatDBEntry The collector's data per database
@@ -522,6 +535,7 @@ typedef struct PgStat_StatDBEntry
PgStat_Counter n_conflict_startup_deadlock;
PgStat_Counter n_temp_files;
PgStat_Counter n_temp_bytes;
+ PgStat_Counter n_deadlocks;
TimestampTz stat_reset_timestamp;
@@ -746,6 +760,7 @@ extern void pgstat_report_analyze(Relation rel,
PgStat_Counter livetuples, PgStat_Counter deadtuples);
extern void pgstat_report_recovery_conflict(int reason);
+extern void pgstat_report_deadlock(void);
extern void pgstat_initialize(void);
extern void pgstat_bestart(void);