On Wed, May 5, 2021 at 4:03 PM Craig Ringer <cr...@2ndquadrant.com> wrote:
>
> Hi all
>
> I'm thinking of piggy-backing on the approach used in the "Get memory 
> contexts of an arbitrary backend process" patch in order to provide access to 
> detailed reorder buffer content statistics from walsenders on request.
>
> Right now the reorder buffer is mostly a black-box. I mostly rely on gdb or 
> on dynamic probes (perf, systemtap) to see what it's doing. I intend a patch 
> soon to add a couple of fields to struct WalSnd to report some very coarse 
> reorder buffer stats - at least oldest buffered xid, number of buffered txns, 
> total bytes of buffered txns in memory, total bytes of buffered txns spilled 
> to disk.
>
> But sometimes what I really want is details on the txns that're in the 
> reorder buffer, and that's not feasible to export via always-enabled 
> reporting like struct WalSnd. So I'm thinking that the same approach used for 
> the memory context stats patch might work well for asking the walsender for a 
> detailed dump of reorder buffer contents. Something like a per-buffered-txn 
> table of txn topxid, start-lsn, most recent change lsn, number of changes, 
> number of subxids, number of invalidations, number of catalog changes, buffer 
> size in memory, buffer size spilled to disk.
>

+1.

Will be really useful to troubleshoot what's going on in the ReorderBuffer.

If we put that in WalSnd it will not be useful for the connections
which are using normal backends to get logical changes through
built-in functions.
-- 
Best Wishes,
Ashutosh Bapat


Reply via email to