Re: Add session statistics to pg_stat_database

Masahiro Ikeda <ikedamsh@oss.nttdata.com>

From: Masahiro Ikeda <ikedamsh@oss.nttdata.com>
To: Laurenz Albe <laurenz.albe@cybertec.at>
Cc: Magnus Hagander <magnus@hagander.net>, Ahsan Hadi <ahsan.hadi@gmail.com>, Justin Pryzby <pryzby@telsasoft.com>, Soumyadeep Chakraborty <soumyadeep2007@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-12-25T11:28:06Z
Lists: pgsql-hackers
Hi,

As a user, I want this feature to know whether
clients' session activities are as expected.

I have some comments about the patch.


1. pg_proc.dat

The unit of "session time" and so on says "in seconds".
But, is "in milliseconds" right?


2. monitoring.sgml

IIUC, "active_time" includes the time executes a fast-path function and
"idle in transaction" includes "idle in transaction(aborted)" time.

Why don't you reference pg_stat_activity's "state" column and
"active_time" is the total time when the state is "active" and "fast 
path"?
"idle in transaction" is as same too.


3. pgstat.h

The comment of PgStat_MsgConn says "Sent by pgstat_connection".
I thought "pgstat_connection" is a function, but it doesn't exist.

Is "Sent by the backend" right?

Although this is a trivial thing, the following row has too many tabs.
Other structs have only one space.
// }<tab><tab><tab>Pgstat_MsgConn;



Regards,
-- 
Masahiro Ikeda
NTT DATA CORPORATION



Commits

  1. Bump PGSTAT_FILE_FORMAT_ID

  2. Add pg_stat_database counters for sessions and session time

  3. Fix oversight in my patch of yesterday: forgot to ensure that stats would