On 2024/07/18 16:08, Nitin Jadhav wrote:
I apologize for not being active on this thread. However, I have now returned to the thread and confirmed that the inconsistency is still present in the latest code. I believe it’s crucial to address this issue, and I am currently submitting the v5 version of the patch. The v4 version had addressed the feedback from Bharath, Kyotaro, Andres, and Robert. The current version has been rebased to incorporate Vignesh’s suggestions. In response to Michael’s comments, I’ve moved the new ‘slru_written’ column from the ‘pg_stat_bgwriter’ view to the ‘pg_stat_checkpointer’ in the attached patch. To summarize our discussions, we’ve reached a consensus to correct the mismatch between the information on buffers written as displayed in the ‘pg_stat_checkpointer’ view and the checkpointer log message. We’ve also agreed to separate the SLRU buffers data from the buffers written and present the SLRU buffers data in a distinct field. I have created the new commitfest entry here https://commitfest.postgresql.org/49/5130/. Kindly share if any comments.
Thanks for updating the patch! In pgstat_checkpointer.c, it looks like you missed adding CHECKPOINTER_COMP(slru_written) in pgstat_checkpointer_snapshot_cb(). + <row> + <entry role="catalog_table_entry"><para role="column_definition"> + <structfield>slru_written</structfield> <type>bigint</type> + </para> + <para> + Number of SLRU buffers written during checkpoints and restartpoints + </para></entry> + </row> This entry should be moved to the pg_stat_checkpointer documentation. + CheckpointStats.ckpt_slru_written, + (double) CheckpointStats.ckpt_slru_written * 100 / NBuffers, I don't think NBuffers represents the maximum number of SLRU buffers. We might need to calculate this based on specific GUC settings, like transaction_buffers. Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION