bufmgr: Remove buffer-write-dirty tracepoints
The trace point was using the relfileno / fork / block for the to-be-read-in buffer. Some upcoming work would make that more expensive to provide. We still have buffer-flush-start/done, which can serve most tracing needs that buffer-write-dirty could serve. Discussion: https://postgr.es/m/f5164e7a-eef6-8972-75a3-8ac622ed0c6e@iki.fi
This commit is contained in:
parent
05a304a855
commit
8a2b1b1477
@ -7817,23 +7817,6 @@ FROM pg_stat_get_backend_idset() AS backendid;
|
|||||||
it's typically not actually been written to disk yet.)
|
it's typically not actually been written to disk yet.)
|
||||||
The arguments are the same as for <literal>buffer-flush-start</literal>.</entry>
|
The arguments are the same as for <literal>buffer-flush-start</literal>.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
|
||||||
<entry><literal>buffer-write-dirty-start</literal></entry>
|
|
||||||
<entry><literal>(ForkNumber, BlockNumber, Oid, Oid, Oid)</literal></entry>
|
|
||||||
<entry>Probe that fires when a server process begins to write a dirty
|
|
||||||
buffer. (If this happens often, it implies that
|
|
||||||
<xref linkend="guc-shared-buffers"/> is too
|
|
||||||
small or the background writer control parameters need adjustment.)
|
|
||||||
arg0 and arg1 contain the fork and block numbers of the page.
|
|
||||||
arg2, arg3, and arg4 contain the tablespace, database, and relation OIDs
|
|
||||||
identifying the relation.</entry>
|
|
||||||
</row>
|
|
||||||
<row>
|
|
||||||
<entry><literal>buffer-write-dirty-done</literal></entry>
|
|
||||||
<entry><literal>(ForkNumber, BlockNumber, Oid, Oid, Oid)</literal></entry>
|
|
||||||
<entry>Probe that fires when a dirty-buffer write is complete.
|
|
||||||
The arguments are the same as for <literal>buffer-write-dirty-start</literal>.</entry>
|
|
||||||
</row>
|
|
||||||
<row>
|
<row>
|
||||||
<entry><literal>wal-buffer-write-dirty-start</literal></entry>
|
<entry><literal>wal-buffer-write-dirty-start</literal></entry>
|
||||||
<entry><literal>()</literal></entry>
|
<entry><literal>()</literal></entry>
|
||||||
|
@ -1280,21 +1280,11 @@ BufferAlloc(SMgrRelation smgr, char relpersistence, ForkNumber forkNum,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* OK, do the I/O */
|
/* OK, do the I/O */
|
||||||
TRACE_POSTGRESQL_BUFFER_WRITE_DIRTY_START(forkNum, blockNum,
|
|
||||||
smgr->smgr_rlocator.locator.spcOid,
|
|
||||||
smgr->smgr_rlocator.locator.dbOid,
|
|
||||||
smgr->smgr_rlocator.locator.relNumber);
|
|
||||||
|
|
||||||
FlushBuffer(buf, NULL, IOOBJECT_RELATION, io_context);
|
FlushBuffer(buf, NULL, IOOBJECT_RELATION, io_context);
|
||||||
LWLockRelease(BufferDescriptorGetContentLock(buf));
|
LWLockRelease(BufferDescriptorGetContentLock(buf));
|
||||||
|
|
||||||
ScheduleBufferTagForWriteback(&BackendWritebackContext,
|
ScheduleBufferTagForWriteback(&BackendWritebackContext,
|
||||||
&buf->tag);
|
&buf->tag);
|
||||||
|
|
||||||
TRACE_POSTGRESQL_BUFFER_WRITE_DIRTY_DONE(forkNum, blockNum,
|
|
||||||
smgr->smgr_rlocator.locator.spcOid,
|
|
||||||
smgr->smgr_rlocator.locator.dbOid,
|
|
||||||
smgr->smgr_rlocator.locator.relNumber);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -66,8 +66,6 @@ provider postgresql {
|
|||||||
probe buffer__sync__start(int, int);
|
probe buffer__sync__start(int, int);
|
||||||
probe buffer__sync__written(int);
|
probe buffer__sync__written(int);
|
||||||
probe buffer__sync__done(int, int, int);
|
probe buffer__sync__done(int, int, int);
|
||||||
probe buffer__write__dirty__start(ForkNumber, BlockNumber, Oid, Oid, Oid);
|
|
||||||
probe buffer__write__dirty__done(ForkNumber, BlockNumber, Oid, Oid, Oid);
|
|
||||||
|
|
||||||
probe deadlock__found();
|
probe deadlock__found();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user