clog_info-v1.patch
application/octet-stream
Filename: clog_info-v1.patch
Type: application/octet-stream
Part: 2
Patch
Format: unified
Series: patch v1
| File | + | − |
|---|---|---|
| src/backend/access/transam/clog.c | 1 | 0 |
| src/backend/access/transam/slru.c | 2 | 0 |
| src/backend/storage/ipc/ipc.c | 4 | 1 |
| src/include/postgres.h | 3 | 0 |
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)