Re: Inconsistency in reporting checkpointer stats
От | Michael Paquier |
---|---|
Тема | Re: Inconsistency in reporting checkpointer stats |
Дата | |
Msg-id | Y5pEHOtpXD/iuU1c@paquier.xyz обсуждение исходный текст |
Ответ на | Re: Inconsistency in reporting checkpointer stats (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>) |
Ответы |
Re: Inconsistency in reporting checkpointer stats
|
Список | pgsql-hackers |
On Wed, Dec 14, 2022 at 04:54:53PM +0530, Bharath Rupireddy wrote: > Indeed PendingCheckpointerStats.buf_written_checkpoints needs to count > buffer writes in SlruInternalWritePage(). However, does it need to be > done immediately there? The stats will not be visible to the users > until the next pgstat_report_checkpointer(). Incrementing > buf_written_checkpoints in BufferSync() makes sense as the > pgstat_report_checkpointer() gets called in there via > CheckpointWriteDelay() and it becomes visible to the user immediately. > Have you checked if pgstat_report_checkpointer() gets called while the > checkpoint calls SlruInternalWritePage()? If not, then you can just > assign ckpt_bufs_written to buf_written_checkpoints in > LogCheckpointEnd() like its other friends > checkpoint_write_time and checkpoint_sync_time. /* If part of a checkpoint, count this as a buffer written. */ if (fdata) CheckpointStats.ckpt_bufs_written++; + PendingCheckpointerStats.buf_written_checkpoints++; Also, the proposed patch would touch PendingCheckpointerStats even when there is no fdata, aka outside the context of a checkpoint or shutdown sequence.. -- Michael
Вложения
В списке pgsql-hackers по дате отправления: