diff --git a/src/backend/postmaster/pgstat.c b/src/backend/postmaster/pgstat.c index 01273e193405a19b4e229810c8635c2f6e791ef9..cb4377708302f4a407a48b6ca448c805c3700e3d 100644 --- a/src/backend/postmaster/pgstat.c +++ b/src/backend/postmaster/pgstat.c @@ -3107,7 +3107,12 @@ PgstatCollectorMain(int argc, char *argv[]) * satisfied by existing file. */ if (last_statwrite < last_statrequest) + { + elog(LOG, "pgstat: writing new stats file"); pgstat_write_statsfile(false); + } + + elog(LOG, "pgstat: attempting recv()"); /* * Try to receive and process a message. This will not block, @@ -3124,6 +3129,9 @@ PgstatCollectorMain(int argc, char *argv[]) errmsg("could not read statistics message: %m"))); } + elog(LOG, "pgstat: received msg type %d len %d", + msg.msg_hdr.m_type, len); + /* * We ignore messages that are smaller than our common header */ @@ -3218,12 +3226,16 @@ PgstatCollectorMain(int argc, char *argv[]) } } /* end of inner message-processing loop */ + elog(LOG, "pgstat: waiting"); + /* Sleep until there's something to do */ wr = WaitLatchOrSocket(&pgStatLatch, WL_LATCH_SET | WL_POSTMASTER_DEATH | WL_SOCKET_READABLE, pgStatSock, -1L); + elog(LOG, "pgstat: wait result 0x%x", wr); + /* * Emergency bailout if postmaster has died. This is to avoid the * necessity for manual cleanup of all postmaster children. @@ -4006,7 +4018,15 @@ static void pgstat_recv_inquiry(PgStat_MsgInquiry *msg, int len) { if (msg->inquiry_time > last_statrequest) + { last_statrequest = msg->inquiry_time; + if (last_statwrite < last_statrequest) + elog(LOG, "pgstat: received new inquiry message"); + else + elog(LOG, "pgstat: received stale inquiry message"); + } + else + elog(LOG, "pgstat: received out-of-order inquiry message"); }