Allow autovacuum to log WAL usage statistics.
This commit allows autovacuum to log WAL usage statistics added by commit df3b181499. Author: Julien Rouhaud Reviewed-by: Dilip Kumar and Amit Kapila Discussion: https://postgr.es/m/CAB-hujrP8ZfUkvL5OYETipQwA=e3n7oqHFU=4ZLxWS_Cza3kQQ@mail.gmail.com
This commit is contained in:
parent
8ef9451f58
commit
b7ce6de93b
@ -410,6 +410,8 @@ heap_vacuum_rel(Relation onerel, VacuumParams *params,
|
|||||||
int nindexes;
|
int nindexes;
|
||||||
PGRUsage ru0;
|
PGRUsage ru0;
|
||||||
TimestampTz starttime = 0;
|
TimestampTz starttime = 0;
|
||||||
|
WalUsage walusage_start = pgWalUsage;
|
||||||
|
WalUsage walusage = {0, 0, 0};
|
||||||
long secs;
|
long secs;
|
||||||
int usecs;
|
int usecs;
|
||||||
double read_rate,
|
double read_rate,
|
||||||
@ -614,6 +616,9 @@ heap_vacuum_rel(Relation onerel, VacuumParams *params,
|
|||||||
|
|
||||||
TimestampDifference(starttime, endtime, &secs, &usecs);
|
TimestampDifference(starttime, endtime, &secs, &usecs);
|
||||||
|
|
||||||
|
memset(&walusage, 0, sizeof(WalUsage));
|
||||||
|
WalUsageAccumDiff(&walusage, &pgWalUsage, &walusage_start);
|
||||||
|
|
||||||
read_rate = 0;
|
read_rate = 0;
|
||||||
write_rate = 0;
|
write_rate = 0;
|
||||||
if ((secs > 0) || (usecs > 0))
|
if ((secs > 0) || (usecs > 0))
|
||||||
@ -666,7 +671,13 @@ heap_vacuum_rel(Relation onerel, VacuumParams *params,
|
|||||||
(long long) VacuumPageDirty);
|
(long long) VacuumPageDirty);
|
||||||
appendStringInfo(&buf, _("avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"),
|
appendStringInfo(&buf, _("avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"),
|
||||||
read_rate, write_rate);
|
read_rate, write_rate);
|
||||||
appendStringInfo(&buf, _("system usage: %s"), pg_rusage_show(&ru0));
|
appendStringInfo(&buf, _("system usage: %s\n"), pg_rusage_show(&ru0));
|
||||||
|
appendStringInfo(&buf,
|
||||||
|
_("WAL usage: %ld records, %ld full page writes, "
|
||||||
|
UINT64_FORMAT " bytes"),
|
||||||
|
walusage.wal_records,
|
||||||
|
walusage.wal_num_fpw,
|
||||||
|
walusage.wal_bytes);
|
||||||
|
|
||||||
ereport(LOG,
|
ereport(LOG,
|
||||||
(errmsg_internal("%s", buf.data)));
|
(errmsg_internal("%s", buf.data)));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user