diff --git a/src/backend/access/transam/clog.c b/src/backend/access/transam/clog.c index 3a58f1e..a729101 100644 --- a/src/backend/access/transam/clog.c +++ b/src/backend/access/transam/clog.c @@ -399,6 +399,7 @@ TransactionIdGetStatus(TransactionId xid, XLogRecPtr *lsn) char *byteptr; XidStatus status; + trans_status++; /* lock is acquired by SimpleLruReadPage_ReadOnly */ slotno = SimpleLruReadPage_ReadOnly(ClogCtl, pageno, xid); diff --git a/src/backend/access/transam/slru.c b/src/backend/access/transam/slru.c index 5fcea11..c61fe36 100644 --- a/src/backend/access/transam/slru.c +++ b/src/backend/access/transam/slru.c @@ -671,6 +671,8 @@ SlruPhysicalReadPage(SlruCtl ctl, int pageno, int slotno) return false; } + trans_status_disk++; + if (CloseTransientFile(fd)) { slru_errcause = SLRU_CLOSE_FAILED; diff --git a/src/backend/storage/ipc/ipc.c b/src/backend/storage/ipc/ipc.c index 6bc0b06..97c6ad1 100644 --- a/src/backend/storage/ipc/ipc.c +++ b/src/backend/storage/ipc/ipc.c @@ -39,6 +39,8 @@ */ bool proc_exit_inprogress = false; +int trans_status = 0; +int trans_status_disk = 0; /* * This flag tracks whether we've called atexit() in the current process * (or in the parent postmaster). @@ -137,7 +139,8 @@ proc_exit(int code) chdir(gprofDirName); } #endif - + elog(LOG, "trans_status(%d)", trans_status); + elog(LOG, "trans_status_disk(%d)", trans_status_disk); elog(DEBUG3, "exit(%d)", code); exit(code); diff --git a/src/include/postgres.h b/src/include/postgres.h index ccf1605..e352524 100644 --- a/src/include/postgres.h +++ b/src/include/postgres.h @@ -117,6 +117,9 @@ typedef enum vartag_external VARTAG_ONDISK = 18 } vartag_external; +extern int trans_status; +extern int trans_status_disk; + /* this test relies on the specific tag values above */ #define VARTAG_IS_EXPANDED(tag) \ (((tag) & ~1) == VARTAG_EXPANDED_RO)