Report resource usage at the end of recovery
authorDavid Rowley <[email protected]>
Tue, 15 Sep 2020 23:25:46 +0000 (11:25 +1200)
committerDavid Rowley <[email protected]>
Tue, 15 Sep 2020 23:25:46 +0000 (11:25 +1200)
Reporting this has been rather useful in some recent recovery speedup
work.  It also seems like something that will be useful to the average DBA
too.

Author: David Rowley
Reviewed-by: Thomas Munro
Discussion: https://postgr.es/m/CAApHDvqYVORiZxq2xPvP6_ndmmsTkvr6jSYv4UTNaFa5i1kd%3DQ%40mail.gmail.com

src/backend/access/transam/xlog.c

index a38371a64f96cedbcbf15d6b7709f59c11ba668b..61754312e269088c84138cc04f9ffc9cac55fc30 100644 (file)
@@ -76,6 +76,7 @@
 #include "utils/memutils.h"
 #include "utils/ps_status.h"
 #include "utils/relmapper.h"
+#include "utils/pg_rusage.h"
 #include "utils/snapmgr.h"
 #include "utils/timestamp.h"
 
@@ -7169,6 +7170,9 @@ StartupXLOG(void)
        {
            ErrorContextCallback errcallback;
            TimestampTz xtime;
+           PGRUsage    ru0;
+
+           pg_rusage_init(&ru0);
 
            InRedo = true;
 
@@ -7435,8 +7439,9 @@ StartupXLOG(void)
            }
 
            ereport(LOG,
-                   (errmsg("redo done at %X/%X",
-                           (uint32) (ReadRecPtr >> 32), (uint32) ReadRecPtr)));
+                   (errmsg("redo done at %X/%X system usage: %s",
+                           (uint32) (ReadRecPtr >> 32), (uint32) ReadRecPtr,
+                           pg_rusage_show(&ru0))));
            xtime = GetLatestXTime();
            if (xtime)
                ereport(LOG,