Re: POC: track vacuum/analyze cumulative time per relation

Sami Imseih <samimseih@gmail.com>

From: Sami Imseih <samimseih@gmail.com>
To: Alena Rybakina <a.rybakina@postgrespro.ru>
Cc: wenhui qiu <qiuwenhuifx@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-01-10T16:21:56Z
Lists: pgsql-hackers
> > this information gives a complete picture of vacuum efficiency, because
> > analyzing only total_time statistics does not give a complete picture of
> > what vacuum did: was it cleaning almost huge index, cleaning tables or
> > just sleeping.
>
> The purpose of total_time is to be able to calculate the average
> time of a vacuum per relation from pg_stat_all_tables (by
> total_time/vacuum_count) This is useful on its own to be able to
> trend slow downs of vacuum ( or improvements after vacuum tuning )
> for specific relations.
>
> The work going into [1] is more detailed and will be useful
> for deep dive investigations.In short, I think both proposals
> have merit.

Missed this point in my last reply. This patch also tracks
(auto)analyze per relation cumulative timing which can
be useful along with (auto)analyze_count to derive
the average.

Regards,

Sami



Commits

  1. Track per-relation cumulative time spent in [auto]vacuum and [auto]analyze