public inbox for [email protected]  
help / color / mirror / Atom feed
From: Bharath Rupireddy <[email protected]>
To: SATYANARAYANA NARLAPURAM <[email protected]>
Cc: Lakshmi N <[email protected]>
Cc: [email protected]
Subject: Re: log XLogPrefetch stats at end of recovery
Date: Sat, 21 Mar 2026 17:43:15 -0700
Message-ID: <CALj2ACWovfe_A43LP5fi0mJenZ-i99_ux68YCzX6D2CO5mB-gg@mail.gmail.com> (raw)
In-Reply-To: <CAHg+QDfLh-yb+OacN6qPYF6H3SPDmVJUiors7vkSMq4yxfhNrA@mail.gmail.com>
References: <CA+3i_M-+WVyrRcfnxa4gt+KQUzH-LTQ8D2JCGE_O0WzJJtZfUg@mail.gmail.com>
	<CAHg+QDfLh-yb+OacN6qPYF6H3SPDmVJUiors7vkSMq4yxfhNrA@mail.gmail.com>

Hi,

On Sat, Mar 21, 2026 at 1:16 AM SATYANARAYANA NARLAPURAM
<[email protected]> wrote:
>
> > While investigating a long recovery, I noticed that XLogPrefetch stats were not logged at the end of recovery. This log message will be useful to understand how effective XLogPrefetch was during recovery. Adding a patch to address this.
>
> Applied this patch and validated the log message. This log message appears to be useful to me, particularly while doing fleet wide analysis.
>
> 2026-03-20 23:33:13.756 PDT [2265441] LOG:  XLogPrefetcher stats: prefetch=14, hit=6, skip_init=5, skip_new=28, skip_fpw=18, skip_rep=996

This looks useful to understand how the prefetch helped during long recoveries.

> I am wondering if we can periodically log this in standby mode as well, not just before promoting?

Timer-based startup progress messaging allows logging such things
(ereport_startup_progress API). There was an attempt to enable "redo
in progress" for standbys, but that seemed to flood the standby logs
even at the default progress interval of 10 sec.

Having said that, the prefetcher stats could be added to the existing
ereport_startup_progress("redo in progress xxx") message that works
for crash recoveries—however, I don't prefer doing a bunch of atomic
reads every progress interval of 10 sec. Therefore, logging at the end
of recovery looks good to me.

I reviewed the patch. I have the following comment:

+ elog(LOG, "XLogPrefetcher stats: prefetch=%lu, hit=%lu,
skip_init=%lu, skip_new=%lu, skip_fpw=%lu, skip_rep=%lu",

XLogPrefetcher is an internal data structure name, how about "redo
prefetch stats: xxxx" to be consistent with other redo log messages?

--
Bharath Rupireddy
Amazon Web Services: https://aws.amazon.com





view thread (11+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: log XLogPrefetch stats at end of recovery
  In-Reply-To: <CALj2ACWovfe_A43LP5fi0mJenZ-i99_ux68YCzX6D2CO5mB-gg@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox