Fujii Masao wrote:
> Hi,
>
> On Wed, Dec 17, 2008 at 4:53 AM, Robert Lor <Robert.Lor@sun.com> wrote:
>
>> @@ -1313,12 +1318,14 @@ AdvanceXLInsertBuffer(bool new_segment)
>> * Have to write buffers while holding insert
>> lock. This is
>> * not good, so only write as much as we
>> absolutely must.
>> */
>> + TRACE_POSTGRESQL_WAL_BUFFER_WRITE_START();
>> WriteRqst.Write = OldPageRqstPtr;
>> WriteRqst.Flush.xlogid = 0;
>> WriteRqst.Flush.xrecoff = 0;
>> XLogWrite(WriteRqst, false, false);
>> LWLockRelease(WALWriteLock);
>> Insert->LogwrtResult = LogwrtResult;
>> + TRACE_POSTGRESQL_WAL_BUFFER_WRITE_DONE();
>>
>
> Why is TRACE_POSTGRESQL_WAL_BUFFER_WRITE_START/DONE called
> only in AdvanceXLInsertBuffer? We can trace only a part of WAL buffer write?
>
>
The intention of these probes is to determine if wal_buffers is too
small by monitoring how frequent the server has to write out the buffers
along with the I/O time.
-Robert