summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Wong <mark@2ndQuadrant.com>2020-04-10 16:35:28 -0700
committerMark Wong <mark@2ndQuadrant.com>2020-04-10 16:35:28 -0700
commitb4c3cc1fde7f9c722b8a120f252e5c37855c38ce (patch)
tree608c0aebc9ba00816df65824c23f6345d8060e77
parent500139565f5339d66094c9ceb0f38faf4887a73b (diff)
Use enum for pg_stat_replication query
This will hopefully make updating various machine files easier.
-rw-r--r--machine/m_linux.c29
-rw-r--r--pg.h18
2 files changed, 34 insertions, 13 deletions
diff --git a/machine/m_linux.c b/machine/m_linux.c
index 02a4a1b..362d684 100644
--- a/machine/m_linux.c
+++ b/machine/m_linux.c
@@ -881,19 +881,22 @@ get_process_info(struct system_info *si,
if (mode == MODE_REPLICATION)
{
- update_str(&n->usename, PQgetvalue(pgresult, i, 1));
- update_str(&n->application_name, PQgetvalue(pgresult, i, 2));
- update_str(&n->client_addr, PQgetvalue(pgresult, i, 3));
- update_str(&n->repstate, PQgetvalue(pgresult, i, 4));
- update_str(&n->primary, PQgetvalue(pgresult, i, 5));
- update_str(&n->sent, PQgetvalue(pgresult, i, 6));
- update_str(&n->write, PQgetvalue(pgresult, i, 7));
- update_str(&n->flush, PQgetvalue(pgresult, i, 8));
- update_str(&n->replay, PQgetvalue(pgresult, i, 9));
- n->sent_lag = atol(PQgetvalue(pgresult, i, 10));
- n->write_lag = atol(PQgetvalue(pgresult, i, 11));
- n->flush_lag = atol(PQgetvalue(pgresult, i, 12));
- n->replay_lag = atol(PQgetvalue(pgresult, i, 13));
+ update_str(&n->usename, PQgetvalue(pgresult, i, REP_USENAME));
+ update_str(&n->application_name,
+ PQgetvalue(pgresult, i, REP_APPLICATION_NAME));
+ update_str(&n->client_addr,
+ PQgetvalue(pgresult, i, REP_CLIENT_ADDR));
+ update_str(&n->repstate, PQgetvalue(pgresult, i, REP_STATE));
+ update_str(&n->primary,
+ PQgetvalue(pgresult, i, REP_WAL_INSERT));
+ update_str(&n->sent, PQgetvalue(pgresult, i, REP_SENT));
+ update_str(&n->write, PQgetvalue(pgresult, i, REP_WRITE));
+ update_str(&n->flush, PQgetvalue(pgresult, i, REP_FLUSH));
+ update_str(&n->replay, PQgetvalue(pgresult, i, REP_REPLAY));
+ n->sent_lag = atol(PQgetvalue(pgresult, i, REP_SENT_LAG));
+ n->write_lag = atol(PQgetvalue(pgresult, i, REP_WRITE_LAG));
+ n->flush_lag = atol(PQgetvalue(pgresult, i, REP_FLUSH_LAG));
+ n->replay_lag = atol(PQgetvalue(pgresult, i, REP_REPLAY_LAG));
memcpy(&pgtable[active_procs++], n, sizeof(struct top_proc));
}
diff --git a/pg.h b/pg.h
index 530ea4b..98d9e3b 100644
--- a/pg.h
+++ b/pg.h
@@ -42,4 +42,22 @@ enum pg_stat_activity
PROC_LOCKS
};
+enum pg_stat_replication
+{
+ REP_PID = 0,
+ REP_USENAME,
+ REP_APPLICATION_NAME,
+ REP_CLIENT_ADDR,
+ REP_STATE,
+ REP_WAL_INSERT,
+ REP_SENT,
+ REP_WRITE,
+ REP_FLUSH,
+ REP_REPLAY,
+ REP_SENT_LAG,
+ REP_WRITE_LAG,
+ REP_FLUSH_LAG,
+ REP_REPLAY_LAG
+};
+
#endif /* _PG_H_ */