Commit ef08ca11 authored by Amit Kapila's avatar Amit Kapila

Cosmetic fixups for WAL usage work.

Reported-by: Justin Pryzby and Euler Taveira
Author: Justin Pryzby and Julien Rouhaud
Reviewed-by: Amit Kapila
Discussion: https://postgr.es/m/CAB-hujrP8ZfUkvL5OYETipQwA=e3n7oqHFU=4ZLxWS_Cza3kQQ@mail.gmail.com
parent 0c620a58
...@@ -43,7 +43,7 @@ CREATE FUNCTION pg_stat_statements(IN showtext boolean, ...@@ -43,7 +43,7 @@ CREATE FUNCTION pg_stat_statements(IN showtext boolean,
OUT blk_read_time float8, OUT blk_read_time float8,
OUT blk_write_time float8, OUT blk_write_time float8,
OUT wal_records int8, OUT wal_records int8,
OUT wal_num_fpw int8, OUT wal_fpw int8,
OUT wal_bytes numeric OUT wal_bytes numeric
) )
RETURNS SETOF record RETURNS SETOF record
......
...@@ -189,7 +189,7 @@ typedef struct Counters ...@@ -189,7 +189,7 @@ typedef struct Counters
double blk_write_time; /* time spent writing, in msec */ double blk_write_time; /* time spent writing, in msec */
double usage; /* usage factor */ double usage; /* usage factor */
int64 wal_records; /* # of WAL records generated */ int64 wal_records; /* # of WAL records generated */
int64 wal_num_fpw; /* # of WAL full page image records generated */ int64 wal_fpw; /* # of WAL full page writes generated */
uint64 wal_bytes; /* total amount of WAL bytes generated */ uint64 wal_bytes; /* total amount of WAL bytes generated */
} Counters; } Counters;
...@@ -1432,7 +1432,7 @@ pgss_store(const char *query, uint64 queryId, ...@@ -1432,7 +1432,7 @@ pgss_store(const char *query, uint64 queryId,
e->counters.blk_write_time += INSTR_TIME_GET_MILLISEC(bufusage->blk_write_time); e->counters.blk_write_time += INSTR_TIME_GET_MILLISEC(bufusage->blk_write_time);
e->counters.usage += USAGE_EXEC(total_time); e->counters.usage += USAGE_EXEC(total_time);
e->counters.wal_records += walusage->wal_records; e->counters.wal_records += walusage->wal_records;
e->counters.wal_num_fpw += walusage->wal_num_fpw; e->counters.wal_fpw += walusage->wal_fpw;
e->counters.wal_bytes += walusage->wal_bytes; e->counters.wal_bytes += walusage->wal_bytes;
SpinLockRelease(&e->mutex); SpinLockRelease(&e->mutex);
...@@ -1824,7 +1824,7 @@ pg_stat_statements_internal(FunctionCallInfo fcinfo, ...@@ -1824,7 +1824,7 @@ pg_stat_statements_internal(FunctionCallInfo fcinfo,
Datum wal_bytes; Datum wal_bytes;
values[i++] = Int64GetDatumFast(tmp.wal_records); values[i++] = Int64GetDatumFast(tmp.wal_records);
values[i++] = Int64GetDatumFast(tmp.wal_num_fpw); values[i++] = Int64GetDatumFast(tmp.wal_fpw);
snprintf(buf, sizeof buf, UINT64_FORMAT, tmp.wal_bytes); snprintf(buf, sizeof buf, UINT64_FORMAT, tmp.wal_bytes);
......
...@@ -278,16 +278,16 @@ ...@@ -278,16 +278,16 @@
<entry><type>bigint</type></entry> <entry><type>bigint</type></entry>
<entry></entry> <entry></entry>
<entry> <entry>
Total count of WAL records generated by the statement Total number of WAL records generated by the statement
</entry> </entry>
</row> </row>
<row> <row>
<entry><structfield>wal_num_fpw</structfield></entry> <entry><structfield>wal_fpw</structfield></entry>
<entry><type>bigint</type></entry> <entry><type>bigint</type></entry>
<entry></entry> <entry></entry>
<entry> <entry>
Total count of WAL full page writes generated by the statement Total number of WAL full page writes generated by the statement
</entry> </entry>
</row> </row>
......
...@@ -198,8 +198,8 @@ ROLLBACK; ...@@ -198,8 +198,8 @@ ROLLBACK;
<listitem> <listitem>
<para> <para>
Include information on WAL record generation. Specifically, include the Include information on WAL record generation. Specifically, include the
number of records, number of full page image records and amount of WAL number of records, number of full page writes and amount of WAL bytes
bytes generated. In text format, only non-zero values are printed. This generated. In text format, only non-zero values are printed. This
parameter may only be used when <literal>ANALYZE</literal> is also parameter may only be used when <literal>ANALYZE</literal> is also
enabled. It defaults to <literal>FALSE</literal>. enabled. It defaults to <literal>FALSE</literal>.
</para> </para>
......
...@@ -676,7 +676,7 @@ heap_vacuum_rel(Relation onerel, VacuumParams *params, ...@@ -676,7 +676,7 @@ heap_vacuum_rel(Relation onerel, VacuumParams *params,
_("WAL usage: %ld records, %ld full page writes, " _("WAL usage: %ld records, %ld full page writes, "
UINT64_FORMAT " bytes"), UINT64_FORMAT " bytes"),
walusage.wal_records, walusage.wal_records,
walusage.wal_num_fpw, walusage.wal_fpw,
walusage.wal_bytes); walusage.wal_bytes);
ereport(LOG, ereport(LOG,
......
...@@ -1258,7 +1258,7 @@ XLogInsertRecord(XLogRecData *rdata, ...@@ -1258,7 +1258,7 @@ XLogInsertRecord(XLogRecData *rdata,
{ {
pgWalUsage.wal_bytes += rechdr->xl_tot_len; pgWalUsage.wal_bytes += rechdr->xl_tot_len;
pgWalUsage.wal_records++; pgWalUsage.wal_records++;
pgWalUsage.wal_num_fpw += num_fpw; pgWalUsage.wal_fpw += num_fpw;
} }
return EndPos; return EndPos;
......
...@@ -3343,7 +3343,7 @@ show_wal_usage(ExplainState *es, const WalUsage *usage) ...@@ -3343,7 +3343,7 @@ show_wal_usage(ExplainState *es, const WalUsage *usage)
if (es->format == EXPLAIN_FORMAT_TEXT) if (es->format == EXPLAIN_FORMAT_TEXT)
{ {
/* Show only positive counter values. */ /* Show only positive counter values. */
if ((usage->wal_records > 0) || (usage->wal_num_fpw > 0) || if ((usage->wal_records > 0) || (usage->wal_fpw > 0) ||
(usage->wal_bytes > 0)) (usage->wal_bytes > 0))
{ {
ExplainIndentText(es); ExplainIndentText(es);
...@@ -3352,9 +3352,9 @@ show_wal_usage(ExplainState *es, const WalUsage *usage) ...@@ -3352,9 +3352,9 @@ show_wal_usage(ExplainState *es, const WalUsage *usage)
if (usage->wal_records > 0) if (usage->wal_records > 0)
appendStringInfo(es->str, " records=%ld", appendStringInfo(es->str, " records=%ld",
usage->wal_records); usage->wal_records);
if (usage->wal_num_fpw > 0) if (usage->wal_fpw > 0)
appendStringInfo(es->str, " full page writes=%ld", appendStringInfo(es->str, " full page writes=%ld",
usage->wal_num_fpw); usage->wal_fpw);
if (usage->wal_bytes > 0) if (usage->wal_bytes > 0)
appendStringInfo(es->str, " bytes=" UINT64_FORMAT, appendStringInfo(es->str, " bytes=" UINT64_FORMAT,
usage->wal_bytes); usage->wal_bytes);
...@@ -3366,7 +3366,7 @@ show_wal_usage(ExplainState *es, const WalUsage *usage) ...@@ -3366,7 +3366,7 @@ show_wal_usage(ExplainState *es, const WalUsage *usage)
ExplainPropertyInteger("WAL records", NULL, ExplainPropertyInteger("WAL records", NULL,
usage->wal_records, es); usage->wal_records, es);
ExplainPropertyInteger("WAL full page writes", NULL, ExplainPropertyInteger("WAL full page writes", NULL,
usage->wal_num_fpw, es); usage->wal_fpw, es);
ExplainPropertyUInteger("WAL bytes", NULL, ExplainPropertyUInteger("WAL bytes", NULL,
usage->wal_bytes, es); usage->wal_bytes, es);
} }
......
...@@ -248,7 +248,7 @@ WalUsageAdd(WalUsage *dst, WalUsage *add) ...@@ -248,7 +248,7 @@ WalUsageAdd(WalUsage *dst, WalUsage *add)
{ {
dst->wal_bytes += add->wal_bytes; dst->wal_bytes += add->wal_bytes;
dst->wal_records += add->wal_records; dst->wal_records += add->wal_records;
dst->wal_num_fpw += add->wal_num_fpw; dst->wal_fpw += add->wal_fpw;
} }
void void
...@@ -256,5 +256,5 @@ WalUsageAccumDiff(WalUsage *dst, const WalUsage *add, const WalUsage *sub) ...@@ -256,5 +256,5 @@ WalUsageAccumDiff(WalUsage *dst, const WalUsage *add, const WalUsage *sub)
{ {
dst->wal_bytes += add->wal_bytes - sub->wal_bytes; dst->wal_bytes += add->wal_bytes - sub->wal_bytes;
dst->wal_records += add->wal_records - sub->wal_records; dst->wal_records += add->wal_records - sub->wal_records;
dst->wal_num_fpw += add->wal_num_fpw - sub->wal_num_fpw; dst->wal_fpw += add->wal_fpw - sub->wal_fpw;
} }
...@@ -35,7 +35,7 @@ typedef struct BufferUsage ...@@ -35,7 +35,7 @@ typedef struct BufferUsage
typedef struct WalUsage typedef struct WalUsage
{ {
long wal_records; /* # of WAL records produced */ long wal_records; /* # of WAL records produced */
long wal_num_fpw; /* # of WAL full page image writes produced */ long wal_fpw; /* # of WAL full page writes produced */
uint64 wal_bytes; /* size of WAL records produced */ uint64 wal_bytes; /* size of WAL records produced */
} WalUsage; } WalUsage;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment