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)
