summaryrefslogtreecommitdiff
path: root/src/backend/postmaster/pgstat.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/postmaster/pgstat.c')
-rw-r--r--src/backend/postmaster/pgstat.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/backend/postmaster/pgstat.c b/src/backend/postmaster/pgstat.c
index 17c11682cf..86d47db9ef 100644
--- a/src/backend/postmaster/pgstat.c
+++ b/src/backend/postmaster/pgstat.c
@@ -16,7 +16,7 @@
*
* Copyright (c) 2001, PostgreSQL Global Development Group
*
- * $Header: /cvsroot/pgsql/src/backend/postmaster/pgstat.c,v 1.31 2002/10/24 23:19:13 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/postmaster/pgstat.c,v 1.32 2003/03/20 03:34:56 momjian Exp $
* ----------
*/
#include "postgres.h"
@@ -1757,6 +1757,8 @@ pgstat_add_backend(PgStat_MsgHdr *msg)
beentry->databaseid = msg->m_databaseid;
beentry->procpid = msg->m_procpid;
beentry->userid = msg->m_userid;
+ beentry->activity_start_sec = 0;
+ beentry->activity_start_usec = 0;
MemSet(beentry->activity, 0, PGSTAT_ACTIVITY_SIZE);
/*
@@ -2460,6 +2462,8 @@ pgstat_recv_beterm(PgStat_MsgBeterm *msg, int len)
static void
pgstat_recv_activity(PgStat_MsgActivity *msg, int len)
{
+ PgStat_StatBeEntry *entry;
+
/*
* Here we check explicitly for 0 return, since we don't want to
* mangle the activity of an active backend by a delayed packed from a
@@ -2468,8 +2472,12 @@ pgstat_recv_activity(PgStat_MsgActivity *msg, int len)
if (pgstat_add_backend(&msg->m_hdr) != 0)
return;
- strncpy(pgStatBeTable[msg->m_hdr.m_backendid - 1].activity,
- msg->m_what, PGSTAT_ACTIVITY_SIZE);
+ entry = &(pgStatBeTable[msg->m_hdr.m_backendid - 1]);
+
+ strncpy(entry->activity, msg->m_what, PGSTAT_ACTIVITY_SIZE);
+
+ entry->activity_start_sec =
+ GetCurrentAbsoluteTimeUsec(&entry->activity_start_usec);
}