Re: Add connection active, idle time to pg_stat_activity

Поиск
Список
Период
Сортировка
От Kyotaro Horiguchi
Тема Re: Add connection active, idle time to pg_stat_activity
Дата
Msg-id 20220128.144303.648220302965090533.horikyota.ntt@gmail.com
обсуждение исходный текст
Ответ на Re: Add connection active, idle time to pg_stat_activity  (Kyotaro Horiguchi <horikyota.ntt@gmail.com>)
Ответы Re: Add connection active, idle time to pg_stat_activity  (Sergey Dudoladov <sergey.dudoladov@gmail.com>)
Список pgsql-hackers
At Fri, 28 Jan 2022 14:36:31 +0900 (JST), Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote in 
> Hi.
> 
> At Thu, 27 Jan 2022 20:36:56 +0800, Julien Rouhaud <rjuju123@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



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Kyotaro Horiguchi
Дата:
Сообщение: Re: Add connection active, idle time to pg_stat_activity
Следующее
От: Nathan Bossart
Дата:
Сообщение: Re: Add checkpoint and redo LSN to LogCheckpointEnd log message