mirror of
https://github.com/postgres/postgres.git
synced 2025-06-29 10:41:53 +03:00
Converge all SQL-level statistics timing values to float8 milliseconds.
This patch adjusts the core statistics views to match the decision already taken for pg_stat_statements, that values representing elapsed time should be represented as float8 and measured in milliseconds. By using float8, we are no longer tied to a specific maximum precision of timing data. (Internally, it's still microseconds, but we could now change that without needing changes at the SQL level.) The columns affected are pg_stat_bgwriter.checkpoint_write_time pg_stat_bgwriter.checkpoint_sync_time pg_stat_database.blk_read_time pg_stat_database.blk_write_time pg_stat_user_functions.total_time pg_stat_user_functions.self_time pg_stat_xact_user_functions.total_time pg_stat_xact_user_functions.self_time The first four of these are new in 9.2, so there is no compatibility issue from changing them. The others require a release note comment that they are now double precision (and can show a fractional part) rather than bigint as before; also their underlying statistics functions now match the column definitions, instead of returning bigint microseconds.
This commit is contained in:
@ -7511,7 +7511,6 @@ LogCheckpointEnd(bool restartpoint)
|
||||
|
||||
CheckpointStats.ckpt_end_t = GetCurrentTimestamp();
|
||||
|
||||
|
||||
TimestampDifference(CheckpointStats.ckpt_write_t,
|
||||
CheckpointStats.ckpt_sync_t,
|
||||
&write_secs, &write_usecs);
|
||||
@ -7520,7 +7519,7 @@ LogCheckpointEnd(bool restartpoint)
|
||||
CheckpointStats.ckpt_sync_end_t,
|
||||
&sync_secs, &sync_usecs);
|
||||
|
||||
/* Record checkpoint timing summary data. */
|
||||
/* Accumulate checkpoint timing summary data, in milliseconds. */
|
||||
BgWriterStats.m_checkpoint_write_time +=
|
||||
write_secs * 1000 + write_usecs / 1000;
|
||||
BgWriterStats.m_checkpoint_sync_time +=
|
||||
|
Reference in New Issue
Block a user