• Fujii Masao's avatar
    Track total amounts of times spent writing and syncing WAL data to disk. · ff99918c
    Fujii Masao authored
    This commit adds new GUC track_wal_io_timing. When this is enabled,
    the total amounts of time XLogWrite writes and issue_xlog_fsync syncs
    WAL data to disk are counted in pg_stat_wal. This information would be
    useful to check how much WAL write and sync affect the performance.
    
    Enabling track_wal_io_timing will make the server query the operating
    system for the current time every time WAL is written or synced,
    which may cause significant overhead on some platforms. To avoid such
    additional overhead in the server with track_io_timing enabled,
    this commit introduces track_wal_io_timing as a separate parameter from
    track_io_timing.
    
    Note that WAL write and sync activity by walreceiver has not been tracked yet.
    
    This commit makes the server also track the numbers of times XLogWrite
    writes and issue_xlog_fsync syncs WAL data to disk, in pg_stat_wal,
    regardless of the setting of track_wal_io_timing. This counters can be
    used to calculate the WAL write and sync time per request, for example.
    
    Bump PGSTAT_FILE_FORMAT_ID.
    
    Bump catalog version.
    
    Author: Masahiro Ikeda
    Reviewed-By: Japin Li, Hayato Kuroda, Masahiko Sawada, David Johnston, Fujii Masao
    Discussion: https://postgr.es/m/0509ad67b585a5b86a83d445dfa75392@oss.nttdata.com
    ff99918c
pg_proc.dat 577 KB