postgres.git / summary / log / commit / refs

commit    7d88bb73f755f7fb5d847ef2319c21076054fb0e
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Mon May 14 01:11:31 2012 +0000
First released in: master (reverted before release)
Reverted by: 5a2bb060121f (in 9.2.0)

    Add some temporary instrumentation to pgstat.c.
    
    Log main-loop blocking events and the results of inquiry messages.
    This is to get some clarity as to what's happening on those Windows
    buildfarm members that still don't like the latch-ified stats collector.
    This bulks up the postmaster log a tad, so I won't leave it in place for
    long.


src/backend/postmaster/pgstat.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/backend/postmaster/pgstat.c b/src/backend/postmaster/pgstat.c index 01273e19340..cb437770830 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"); } [parent: b8347138e94c]