Re: PoC: history of recent vacuum/checkpoint runs (using new hooks) - Mailing list pgsql-hackers

From Tomas Vondra
Subject Re: PoC: history of recent vacuum/checkpoint runs (using new hooks)
Date
Msg-id 8df7cee1-31aa-4db3-bbb7-83157ca139da@vondra.me
Whole thread Raw
In response to Re: PoC: history of recent vacuum/checkpoint runs (using new hooks)  (wenhui qiu <qiuwenhuifx@gmail.com>)
List pgsql-hackers
Hi,

On 12/23/24 07:35, wenhui qiu wrote:
> Hi Tomas 
>      This is a great feature.  
> + /*
> + * Define (or redefine) custom GUC variables.
> + */
> + DefineCustomIntVariable("stats_history.size",
> + "Sets the amount of memory available for past events.",
> + NULL,
> + &statsHistorySizeMB,
> + 1,
> + 1,
> + 128,
> + PGC_POSTMASTER,
> + GUC_UNIT_MB,
> + NULL,
> + NULL,
> + NULL);
> +
> RAM is in terabytes now, the statsHistorySize is 128MB ,I think can
> increase to store more history record ?
> 

Maybe, the 128MB is an arbitrary (and conservative) limit - it's enough
for ~500k events, which seems good enough for most systems. Of course,
on systems with many relations might need more space, not sure.

I was thinking about specifying the space in more natural terms, either
as amount of time ("keep 1 day of history") or number of entries ("10k
entries"). That would probably mean the memory can't be allocated as
fixed size.

But maybe it'd be possible to just write the entries to a file. We don't
need random access to past entries (unlike e.g. pg_stat_statements), and
people won't query that very often either.


regards

-- 
Tomas Vondra



pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: Exporting float_to_shortest_decimal_buf(n) with Postgres 17 on Windows
Next
From: Tom Lane
Date:
Subject: Connection limits/permissions, slotsync workers, etc