At Fri, 28 Jan 2022 14:36:31 +0900 (JST), Kyotaro Horiguchi <horikyota....@gmail.com> wrote in > Hi. > > At Thu, 27 Jan 2022 20:36:56 +0800, Julien Rouhaud <rjuju...@gmail.com> wrote > in > > On Thu, Jan 27, 2022 at 11:43:26AM +0100, Sergey Dudoladov wrote: > > > > > > Per agreement with Rafia I have reworked the patch in the past days. > > > The new version 6 is now ready for review. > > > > Great, thanks a lot Sergey! > > > > The cfbot is happy with this new version: > > https://cirrus-ci.com/github/postgresql-cfbot/postgresql/commitfest/36/3405 > > I think we can easily add the duration of the current state to the two > in pg_stat_get_activity and it would offer better information. > > > if (beentry->st_state == STATE_RUNNING || > beentry->st_state == STATE_FASTPATH) > - pgstat_count_conn_active_time((PgStat_Counter) secs * > 1000000 + usecs); > + { > + pgstat_count_conn_active_time((PgStat_Counter) > usecs_diff); > + beentry->st_total_active_time += usecs_diff; > + } > > The two lines operates exactly the same way on variables with slightly > different behavior. pgStatActiveTime is reported at transaction end > and reset at every tabstat reporting. st_total_active_time is reported > immediately and reset at session end. Since we do the latter, the
> first can be omitted by remembering the last values for the local > variables at every reporting. This needs additional two exporting Of course it's typo(?) of "values of the shared variables". Sorry for the mistake. > function in pgstatfuncs like pgstat_get_my_queryid so others might > think differently. > > The write operation to beentry needs to be enclosed by > PGSTAT_BEGIN/END_WRITE_ACTIVITY(). In that perspective, it would be > better to move that writes to the PGSTAT_WRITE_ACTIVITY section just > below. regards. -- Kyotaro Horiguchi NTT Open Source Software Center