On Fri, Mar 20, 2020 at 12:32 PM Amit Kapila <amit.kapil...@gmail.com> wrote: > > On Fri, Mar 20, 2020 at 4:15 AM Andres Freund <and...@anarazel.de> wrote: > > > > Hi, > > > > I was looking at [1], wanting to suggest a query to monitor what > > autovacuum is mostly waiting on. Partially to figure out whether it's > > mostly autovacuum cost limiting. > > > > But uh, unfortunately the vacuum delay code just sleeps without setting > > a wait event: > > > > void > > vacuum_delay_point(void) > > { > > ... > > /* Nap if appropriate */ > > if (msec > 0) > > { > > if (msec > VacuumCostDelay * 4) > > msec = VacuumCostDelay * 4; > > > > pg_usleep((long) (msec * 1000)); > > > > > > Seems like it should instead use a new wait event in the PG_WAIT_TIMEOUT > > class? > > > > +1. I think it will be quite helpful.
Definite +1. There should be a wait event, and identifying this particular case is certainly interesting enough that it should have it's own. -- Magnus Hagander Me: https://www.hagander.net/ Work: https://www.redpill-linpro.com/