mirror of
https://github.com/postgres/postgres.git
synced 2025-06-05 23:56:58 +03:00
Adjust some comments about structure properties in pg_stat.h
One comment of PgStat_TableCounts mentioned that its pending stats use memcmp() to check for the all-zero case if there is any activity. This is not true since 07e9e28b56, as pg_memory_is_all_zeros() is used. PgStat_FunctionCounts incorrectly documented that it relied on memcpy(). This has never been correct, and not relevant because function statistics do not have an all-zero check for pending stats. Checkpoint and bgwriter statistics have been always relying on memcmp() or pg_memory_is_all_zeros() (since 07e9e28b56 for the latter), and never mentioned the dependency on event counters for their all-zero checks. Let's document these properties, like the table statistics. Author: Bertrand Drouvot Discussion: https://postgr.es/m/Z1hNLvcPgVLPxCoc@ip-10-97-1-34.eu-west-3.compute.internal
This commit is contained in:
parent
bd10ec5297
commit
4766438aa3
@ -128,9 +128,6 @@ typedef int64 PgStat_Counter;
|
||||
/* ----------
|
||||
* PgStat_FunctionCounts The actual per-function counts kept by a backend
|
||||
*
|
||||
* This struct should contain only actual event counters, because we memcmp
|
||||
* it against zeroes to detect whether there are any pending stats.
|
||||
*
|
||||
* Note that the time counters are in instr_time format here. We convert to
|
||||
* microseconds in PgStat_Counter format when flushing out pending statistics.
|
||||
* ----------
|
||||
@ -172,8 +169,10 @@ typedef struct PgStat_BackendSubEntry
|
||||
/* ----------
|
||||
* PgStat_TableCounts The actual per-table counts kept by a backend
|
||||
*
|
||||
* This struct should contain only actual event counters, because we memcmp
|
||||
* it against zeroes to detect whether there are any stats updates to apply.
|
||||
* This struct should contain only actual event counters, because we make use
|
||||
* of pg_memory_is_all_zeros() to detect whether there are any stats updates
|
||||
* to apply.
|
||||
*
|
||||
* It is a component of PgStat_TableStatus (within-backend state).
|
||||
*
|
||||
* Note: for a table, tuples_returned is the number of tuples successfully
|
||||
@ -282,6 +281,14 @@ typedef struct PgStat_ArchiverStats
|
||||
TimestampTz stat_reset_timestamp;
|
||||
} PgStat_ArchiverStats;
|
||||
|
||||
/* ---------
|
||||
* PgStat_BgWriterStats Background Writer statistics
|
||||
*
|
||||
* This struct should contain only actual event counters, because we make use
|
||||
* of pg_memory_is_all_zeros() to detect whether there are any stats updates
|
||||
* to apply.
|
||||
* ---------
|
||||
*/
|
||||
typedef struct PgStat_BgWriterStats
|
||||
{
|
||||
PgStat_Counter buf_written_clean;
|
||||
@ -290,6 +297,14 @@ typedef struct PgStat_BgWriterStats
|
||||
TimestampTz stat_reset_timestamp;
|
||||
} PgStat_BgWriterStats;
|
||||
|
||||
/* --------
|
||||
* PgStat_CheckpointerStats Checkpoint statistics
|
||||
*
|
||||
* This struct should contain only actual event counters, because we make use
|
||||
* of pg_memory_is_all_zeros() to detect whether there are any stats updates to
|
||||
* apply.
|
||||
* ---------
|
||||
*/
|
||||
typedef struct PgStat_CheckpointerStats
|
||||
{
|
||||
PgStat_Counter num_timed;
|
||||
|
Loading…
x
Reference in New Issue
Block a user