[pgpool-hackers: 3941] Re: Proposal: add connection count to pcp_proc_info and show pool_process
    Tatsuo Ishii 
    ishii at sraoss.co.jp
       
    Wed Jun 23 10:21:49 JST 2021
    
    
  
>> While writing a blog:
>> https://pgsqlpgpool.blogspot.com/2020/12/timeouts-in-pgpool-ii-connections.html
>> 
>> I noticed that there's no metrics to know how many times connections
>> from client have been made to a Pgpool-II process in pcp_proc_info and
>> show pool_process. So I would like to propose to add that metrics to
>> the commands. This would be useful to know how many times clients
>> connect to Pgpool-II before they hit child_max_connections.
I add possible use cases for those metrics, especially related to those
Pgpool lifetime parameters.
-------------------------------------------------------------------------------------------------
child_life_time = 5min
                                   # Pool exits after being idle for this many seconds
child_max_connections = 0
                                   # Pool exits after receiving that many connections
                                   # 0 means no exit
connection_life_time = 0
                                   # Connection to backend closes after being idle for this many seconds
                                   # 0 means no close
client_idle_limit = 0
                                   # Client is disconnected after being idle for that many seconds
                                   # (even inside an explicit transactions!)
                                   # 0 means no disconnection
-------------------------------------------------------------------------------------------------
Note that you can already check "Start time" of pcp_proc_info out to
check if pgpool is reaching child_life_time. Maybe it would be
convenient for users to know the reamining time of child_life_time
something like:
Start time   : 2018-07-09 16:43:53 (remaining: 2:30)
I also notice that I haven't proposed metrics for
client_idle_limit. Maybe something like this?
- elapsed time (in seconds) since client is in idle state.
  proposed name: client_idle_duration
Another metrics that maybe useful is, pgpool's local port number. If
PostgreSQL is configured with log_connections, this helps to identify 
> After thinking more I would like to propose to add following metrix.
> 
> - how many times clients connected to this pgpool process.
>
>   proposed name: client_connection_count
Use case: to know how pgpool is close to child_max_connections.
> - last time when frontend connected to this pgpool process.
>   (or NULL is not connected yet)
> 
>   proposed name: client_connection_time
Use case: to know when the client connected to pgpool. If the user
uses his own connection pooling, this helps to know when the
connection was actually made from pgpool's point of view.
> - last time when frontend disconnected to this pgpool process.
>   (or NULL is not disconnected yet)
>
>   proposed name: client_disconnection_time
Use case: to know the client diconnected to pgpool. The use case is
same as above.
> - last time when pgpool connected to backend for this connection pool
>   (or NULL is not connected yet)
> 
>   proposed name: backend_connection_time
Oops. Actually we already have this:
Creation time: 2018-07-09 16:44:08
Usecase: knowing how pgpool is close to connection_life_time.
> - last time when pgpool disconnected to backend for this connection pool
>   (or NULL is not disconnected yet)
Usecase: to know when pgpool disconnected to PostgreSQL.
>   proposed name: backend_disconnection_time
> 
> - process status. possible values:
> 
>   WAIT_FOR_CONNECTION: waiting for connection from client
>   IDLE: idle (not in transaction)
>   IDLE_IN_TRANSACTION: idle (in transaction)
>   SELECT: and other command executing
> 
>   proposed name: status
Use case: we can know this from the ps output today but this will more
convenient for users.
Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp
    
    
More information about the pgpool-hackers
mailing list