patch

application/octet-stream

Filename: patch
Type: application/octet-stream
Part: 0
Message: Re: Instrument checkpoint sync calls
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index 6f6eb3b..82f1b3f 100644
*** a/src/backend/access/transam/xlog.c
--- b/src/backend/access/transam/xlog.c
*************** LogCheckpointEnd(bool restartpoint)
*** 7095,7101 ****
  	longest_secs = (long) (CheckpointStats.ckpt_longest_sync / 1000);
  	longest_usecs = 1000 * (CheckpointStats.ckpt_longest_sync - longest_secs * 1000);
  
! 	average_sync_time = CheckpointStats.ckpt_longest_sync / CheckpointStats.ckpt_sync_rels;
  	average_secs = (long) (average_sync_time / 1000);
  	average_usecs = 1000 * (average_sync_time - average_secs * 1000);
  
--- 7095,7103 ----
  	longest_secs = (long) (CheckpointStats.ckpt_longest_sync / 1000);
  	longest_usecs = 1000 * (CheckpointStats.ckpt_longest_sync - longest_secs * 1000);
  
! 	average_sync_time = 0;
! 	if (CheckpointStats.ckpt_sync_rels) 
! 		average_sync_time = CheckpointStats.ckpt_agg_sync_time / CheckpointStats.ckpt_sync_rels;
  	average_secs = (long) (average_sync_time / 1000);
  	average_usecs = 1000 * (average_sync_time - average_secs * 1000);