From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, Melanie Plageman <melanieplageman(at)gmail(dot)com> |
Subject: | Re: Higher level questions around shared memory stats |
Date: | 2022-04-04 19:34:35 |
Message-ID: | 20220404193435.hf3vybaajlpfmbmt@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On 2022-03-30 14:08:41 -0700, Andres Freund wrote:
> On 2022-03-30 14:42:23 -0400, Robert Haas wrote:
> > On Tue, Mar 29, 2022 at 5:01 PM Andres Freund <andres(at)anarazel(dot)de> wrote:
> > > I can think of these different times:
> > >
> > > - Last time stats were removed due to starting up in crash recovery
> > > - Last time stats were created from scratch, because no stats data file was
> > > present at startup
> > > - Last time stats were thrown away due to corruption
> > > - Last time a subset of stats were reset using one of the pg_reset* functions
> > >
> > > Makes sense?
> >
> > Yes. Possibly that last could be broken in to two: when all stats were
> > last reset, when some stats were last reset.
>
> Believe it or not, we don't currently have a function to reset all stats. We
> should definitely add that though, because the invocation to reset all stats
> gets more ridiculous^Wcomplicated with each release.
I assume we'd want all of these to be persistent (until the next time stats
are lost, of course)?
We currently have the following SQL functions showing reset times:
pg_stat_get_bgwriter_stat_reset_time
pg_stat_get_db_stat_reset_time
and kind of related:
pg_stat_get_snapshot_timestamp
There's also a few functions showing the last time something has happened,
like pg_stat_get_last_analyze_time().
Trying to fit those patterns we could add functions like:
pg_stat_get_stats_last_cleared_recovery_time
pg_stat_get_stats_last_cleared_corrupted_time
pg_stat_get_stats_last_not_present_time
pg_stat_get_stats_last_partially_reset_time
Not great, but I don't immediately have a better idea.
Maybe it'd look better as a view / SRF? pg_stat_stats / pg_stat_get_stats()?
Potential column names:
- cleared_recovery_time
- cleared_corrupted_time
- not_preset_time
- partially_reset_time
It's not a lot of time to code these up. However, it's late in cycle, and
they're not suddenly needed due to shared memory stats, so I have a few doubts
about adding them now?
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Arne Roland | 2022-04-04 19:39:49 | pushdown of joinquals beyond group by/distinct on |
Previous Message | Greg Stark | 2022-04-04 19:32:45 | Re: Pluggable toaster |