Re: pg_stat_reset_single_*_counters vs pg_stat_database.stats_reset - Mailing list pgsql-hackers

From David G. Johnston
Subject Re: pg_stat_reset_single_*_counters vs pg_stat_database.stats_reset
Date
Msg-id CAKFQuwY2WAJocKevN9oR_aVKdiTtwZL5jk9JxqS4035BZJ+usQ@mail.gmail.com
Whole thread Raw
In response to Re: pg_stat_reset_single_*_counters vs pg_stat_database.stats_reset  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-hackers
On Tue, Mar 29, 2022 at 5:56 PM David G. Johnston <david.g.johnston@gmail.com> wrote:
On Tue, Mar 29, 2022 at 5:50 PM Andres Freund <andres@anarazel.de> wrote:
Hi,

On 2022-03-29 17:06:24 -0700, David G. Johnston wrote:
> On Tue, Mar 29, 2022 at 4:43 PM Andres Freund <andres@anarazel.de> wrote:
> > But more importantly, a
> > per-relation/function reset field wouldn't address Tomas's concern: He
> > wants a
> > single thing to check to see if any stats have been reset - and that's imo
> > a
> > quite reasonable desire.
> >
>
> Per the original email:
>
> "Starting with the below commit, pg_stat_reset_single_function_counters,
> pg_stat_reset_single_table_counters don't just reset the stats for the
> individual function, but also set pg_stat_database.stats_reset."
>
> Thus we already have the desired behavior, it is just poorly documented.

The problem is that it also make stats_reset useless for other purposes -
which I do consider a problem. Hence this thread.  My concern would be
mollified if I there were a separate reset timestamp counting the last
"database wide" reset time. Your comment about that was something about
relation/function level timestamps, which doesn't seem relevant.

I can't figure out whether you agree that as of today stats_reset is the "database wide" reset time.  The first sentence makes it sound like you do, the first one makes it sound like you don't.

OK, I meant the third one seems contrary, but re-reading this all again I think I see what you are saying.

You want to add a field that only changes when "reset all stats" is executed for a given database.  Leaving stats_reset to mean "the last time any individual stat record changed".  I can get behind that.

David J.

pgsql-hackers by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: pg_stat_reset_single_*_counters vs pg_stat_database.stats_reset
Next
From: Kyotaro Horiguchi
Date:
Subject: Re: TRAP: FailedAssertion("HaveRegisteredOrActiveSnapshot()", File: "toast_internals.c", Line: 670, PID: 19403)