Re: Track the amount of time waiting due to cost_delay

Bertrand Drouvot <bertranddrouvot.pg@gmail.com>

From: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Dilip Kumar <dilipbalaut@gmail.com>, Masahiro Ikeda <ikedamsh@oss.nttdata.com>, "Imseih (AWS), Sami" <simseih@amazon.com>, Masahiko Sawada <sawada.mshk@gmail.com>, pgsql-hackers@lists.postgresql.org, Robert Haas <robertmhaas@gmail.com>
Date: 2024-12-17T05:15:06Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add delay time to VACUUM/ANALYZE (VERBOSE) and autovacuum logs.

  2. Add cost-based vacuum delay time to progress views.

  3. Add is_analyze parameter to vacuum_delay_point().

  4. Refresh cost-based delay params more frequently in autovacuum

Attachments

Hi,

On Mon, Dec 16, 2024 at 04:02:56PM -0600, Nathan Bossart wrote:
> On Mon, Dec 16, 2024 at 10:11:23AM +0000, Bertrand Drouvot wrote:
> > +#define PARALLEL_VACUUM_WORKER_DELAY_REPORT_INTERVAL_NS (NS_PER_S)
> > 
> > Did not changed in v14, but "PARALLEL_VACUUM_REPORT_INTERVAL_NS" could be
> > an option as well. I think it keeps the key concepts while being more concise (
> > WORKER is somehow implicit in the context).
> 
> I think it's important to keep "delay" somewhere in the name, so how about
> PARALLEL_VACUUM_DELAY_REPORT_INTERVAL_NS?

Yeah, sounds good to me (done in the attached).

> > -vacuum_delay_point(void)
> > +static void
> > +vacuum_delay_point_internal(bool is_analyze)
> > 
> > Updated the comment on top of it accordingly.
> 
> Thanks.  I think we need to do some additional adjustments to this
> commentary since external callers should now use
> vacuum/analyze_delay_point().

Agree, I gave it a try in the attached.

Regards,

-- 
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com