pgpool2.git / summary / log / commit / refs
commit e068eaa7720e33e6eec5e73cc96e3638230a1a7a
Author: Guillaume Lelarge <guillaume at lelarge.info>
Date: Sat Aug 14 06:42:08 2010 +0000
Show start_time and create_time in a more friendly way. For both pcp and SHOW commands.
doc/pgpool-en.html | 59 ++++++++++++++++++++++++------------------------
pcp/pcp_proc_info.c | 17 +++++++++-----
pool_process_reporting.c | 38 +++++++++++++++++++++----------
3 files changed, 66 insertions(+), 48 deletions(-)
diff --git a/doc/pgpool-en.html b/doc/pgpool-en.html
index ce26b76c3..ea91a3aec 100644
--- a/doc/pgpool-en.html
+++ b/doc/pgpool-en.html
@@ -1715,13 +1715,13 @@ It has 6 columns:
<p>It'll always return num_init_children lines.</p>
<pre>
benchs2=# show pool_processes;
- pool_pid | start_time | database | username | create_time | pool_counter
-----------+------------+-----------+-----------+-------------+--------------
- 4318 | 1281433036 | | | |
- 4319 | 1281433036 | | | |
- 4320 | 1281433036 | benchs2 | guillaume | 1281433038 | 1
- 4321 | 1281433036 | | | |
- 4322 | 1281433036 | | | |
+ pool_pid | start_time | database | username | create_time | pool_counter
+----------+---------------------+----------+-----------+---------------------+--------------
+ 8465 | 2010-08-14 08:35:40 | | | |
+ 8466 | 2010-08-14 08:35:40 | benchs | guillaume | 2010-08-14 08:35:43 | 1
+ 8467 | 2010-08-14 08:35:40 | | | |
+ 8468 | 2010-08-14 08:35:40 | | | |
+ 8469 | 2010-08-14 08:35:40 | | | |
(5 lines)
</pre>
<h2>pool_pools</h2>
@@ -1746,29 +1746,28 @@ It has 11 columns:
</p>
<p>It'll always return num_init_children*max_pool lines.</p>
<pre>
-benchs2=# show pool_pools;
- pool_pid | start_time | pool_id | backend_id | database | username | create_time | majorversion | minorversion | pool_counter | pool_backendpid | pool_connected
-----------+------------+---------+------------+----------+-----------+-------------+--------------+--------------+--------------+-----------------+----------------
- 4318 | 1281433036 | 0 | 0 | | | 0 | 0 | 0 | 0 | 0 | 0
- 4318 | 1281433036 | 1 | 0 | | | 0 | 0 | 0 | 0 | 0 | 0
- 4318 | 1281433036 | 2 | 0 | | | 0 | 0 | 0 | 0 | 0 | 0
- 4318 | 1281433036 | 3 | 0 | | | 0 | 0 | 0 | 0 | 0 | 0
- 4319 | 1281433036 | 0 | 0 | | | 0 | 0 | 0 | 0 | 0 | 0
- 4319 | 1281433036 | 1 | 0 | | | 0 | 0 | 0 | 0 | 0 | 0
- 4319 | 1281433036 | 2 | 0 | | | 0 | 0 | 0 | 0 | 0 | 0
- 4319 | 1281433036 | 3 | 0 | | | 0 | 0 | 0 | 0 | 0 | 0
- 4320 | 1281433036 | 0 | 0 | benchs2 | guillaume | 1281433038 | 3 | 0 | 1 | 4327 | 1
- 4320 | 1281433036 | 1 | 0 | | | 0 | 0 | 0 | 0 | 0 | 1
- 4320 | 1281433036 | 2 | 0 | | | 0 | 0 | 0 | 0 | 0 | 0
- 4320 | 1281433036 | 3 | 0 | | | 0 | 0 | 0 | 0 | 0 | 0
- 4321 | 1281433036 | 0 | 0 | | | 0 | 0 | 0 | 0 | 0 | 0
- 4321 | 1281433036 | 1 | 0 | | | 0 | 0 | 0 | 0 | 0 | 0
- 4321 | 1281433036 | 2 | 0 | | | 0 | 0 | 0 | 0 | 0 | 0
- 4321 | 1281433036 | 3 | 0 | | | 0 | 0 | 0 | 0 | 0 | 0
- 4322 | 1281433036 | 0 | 0 | | | 0 | 0 | 0 | 0 | 0 | 0
- 4322 | 1281433036 | 1 | 0 | | | 0 | 0 | 0 | 0 | 0 | 0
- 4322 | 1281433036 | 2 | 0 | | | 0 | 0 | 0 | 0 | 0 | 0
- 4322 | 1281433036 | 3 | 0 | | | 0 | 0 | 0 | 0 | 0 | 0
+ pool_pid | start_time | pool_id | backend_id | database | username | create_time | majorversion | minorversion | pool_counter | pool_backendpid | pool_connected
+----------+---------------------+---------+------------+----------+-----------+---------------------+--------------+--------------+--------------+-----------------+----------------
+ 8465 | 2010-08-14 08:35:40 | 0 | 0 | | | | | | | |
+ 8465 | 2010-08-14 08:35:40 | 1 | 0 | | | | | | | |
+ 8465 | 2010-08-14 08:35:40 | 2 | 0 | | | | | | | |
+ 8465 | 2010-08-14 08:35:40 | 3 | 0 | | | | | | | |
+ 8466 | 2010-08-14 08:35:40 | 0 | 0 | benchs | guillaume | 2010-08-14 08:35:43 | 3 | 0 | 1 | 8473 | 1
+ 8466 | 2010-08-14 08:35:40 | 1 | 0 | | | | | | | |
+ 8466 | 2010-08-14 08:35:40 | 2 | 0 | | | | | | | |
+ 8466 | 2010-08-14 08:35:40 | 3 | 0 | | | | | | | |
+ 8467 | 2010-08-14 08:35:40 | 0 | 0 | | | | | | | |
+ 8467 | 2010-08-14 08:35:40 | 1 | 0 | | | | | | | |
+ 8467 | 2010-08-14 08:35:40 | 2 | 0 | | | | | | | |
+ 8467 | 2010-08-14 08:35:40 | 3 | 0 | | | | | | | |
+ 8468 | 2010-08-14 08:35:40 | 0 | 0 | | | | | | | |
+ 8468 | 2010-08-14 08:35:40 | 1 | 0 | | | | | | | |
+ 8468 | 2010-08-14 08:35:40 | 2 | 0 | | | | | | | |
+ 8468 | 2010-08-14 08:35:40 | 3 | 0 | | | | | | | |
+ 8469 | 2010-08-14 08:35:40 | 0 | 0 | | | | | | | |
+ 8469 | 2010-08-14 08:35:40 | 1 | 0 | | | | | | | |
+ 8469 | 2010-08-14 08:35:40 | 2 | 0 | | | | | | | |
+ 8469 | 2010-08-14 08:35:40 | 3 | 0 | | | | | | | |
(20 lines)
</pre>
</p>
diff --git a/pcp/pcp_proc_info.c b/pcp/pcp_proc_info.c
index 0cb08ed70..ed86aca08 100644
--- a/pcp/pcp_proc_info.c
+++ b/pcp/pcp_proc_info.c
@@ -25,6 +25,7 @@
#include <string.h>
#include <unistd.h>
#include <getopt.h>
+#include <time.h>
#include "pcp.h"
@@ -142,29 +143,33 @@ main(int argc, char **argv)
myexit(errorcode);
} else {
int i;
+ char strcreatetime[128];
+ char strstarttime[128];
+ strftime(strstarttime, 128, "%Y-%m-%d %H:%M:%S", localtime(&process_info->start_time));
for (i = 0; i < array_size; i++)
{
if (process_info->connection_info[i].database[0] == '\0')
continue;
+ strftime(strcreatetime, 128, "%Y-%m-%d %H:%M:%S", localtime(&process_info->connection_info[i].create_time));
if (verbose)
{
- printf("Database : %s\nUsername : %s\nStart time : %ld\nCreation time: %ld\nMajor : %d\nMinor : %d\nCounter : %d\nPID : %d\nConnected : %d\n",
+ printf("Database : %s\nUsername : %s\nStart time : %s\nCreation time: %s\nMajor : %d\nMinor : %d\nCounter : %d\nPID : %d\nConnected : %d\n",
process_info->connection_info[i].database,
process_info->connection_info[i].user,
- process_info->start_time,
- process_info->connection_info[i].create_time,
+ strstarttime,
+ strcreatetime,
process_info->connection_info[i].major,
process_info->connection_info[i].minor,
process_info->connection_info[i].counter,
process_info->connection_info[i].pid,
process_info->connection_info[i].connected);
} else {
- printf("%s %s %ld %ld %d %d %d %d %d\n",
+ printf("%s %s %s %s %d %d %d %d %d\n",
process_info->connection_info[i].database,
process_info->connection_info[i].user,
- process_info->start_time,
- process_info->connection_info[i].create_time,
+ strstarttime,
+ strcreatetime,
process_info->connection_info[i].major,
process_info->connection_info[i].minor,
process_info->connection_info[i].counter,
diff --git a/pool_process_reporting.c b/pool_process_reporting.c
index 2cbc29c93..e9dcd0199 100644
--- a/pool_process_reporting.c
+++ b/pool_process_reporting.c
@@ -38,7 +38,7 @@
#define POOLCONFIG_MAXPORTLEN 6
#define POOLCONFIG_MAXSTATLEN 2
#define POOLCONFIG_MAXWEIGHTLEN 20
-#define POOLCONFIG_MAXDATELEN 20
+#define POOLCONFIG_MAXDATELEN 128
#define POOLCONFIG_MAXCOUNTLEN 16
/* config report struct*/
@@ -857,17 +857,31 @@ void pools_reporting(POOL_CONNECTION *frontend, POOL_CONNECTION_POOL *backend)
{
poolBE = pool*MAX_NUM_BACKENDS+backend_id;
snprintf(pools[lines].pool_pid, POOLCONFIG_MAXCOUNTLEN, "%d", proc_id);
- snprintf(pools[lines].start_time, POOLCONFIG_MAXDATELEN, "%ld", pi->start_time);
+ strftime(pools[lines].start_time, POOLCONFIG_MAXDATELEN, "%Y-%m-%d %H:%M:%S", localtime(&pi->start_time));
snprintf(pools[lines].pool_id, POOLCONFIG_MAXCOUNTLEN, "%d", pool);
snprintf(pools[lines].backend_id, POOLCONFIG_MAXCOUNTLEN, "%d", backend_id);
- strncpy(pools[lines].database, pi->connection_info[poolBE].database, POOLCONFIG_MAXIDENTLEN);
- strncpy(pools[lines].username, pi->connection_info[poolBE].user, POOLCONFIG_MAXIDENTLEN);
- snprintf(pools[lines].create_time, POOLCONFIG_MAXDATELEN, "%ld", pi->connection_info[poolBE].create_time);
- snprintf(pools[lines].pool_majorversion, POOLCONFIG_MAXCOUNTLEN, "%d", pi->connection_info[poolBE].major);
- snprintf(pools[lines].pool_minorversion, POOLCONFIG_MAXCOUNTLEN, "%d", pi->connection_info[poolBE].minor);
- snprintf(pools[lines].pool_counter, POOLCONFIG_MAXCOUNTLEN, "%d", pi->connection_info[poolBE].counter);
- snprintf(pools[lines].pool_backendpid, POOLCONFIG_MAXCOUNTLEN, "%d", ntohl(pi->connection_info[poolBE].pid));
- snprintf(pools[lines].pool_connected, POOLCONFIG_MAXCOUNTLEN, "%d", pi->connection_info[poolBE].connected);
+ if (strlen(pi->connection_info[poolBE].database) == 0)
+ {
+ strncpy(pools[lines].database, "", POOLCONFIG_MAXIDENTLEN);
+ strncpy(pools[lines].username, "", POOLCONFIG_MAXIDENTLEN);
+ strncpy(pools[lines].create_time, "", POOLCONFIG_MAXDATELEN);
+ strncpy(pools[lines].pool_majorversion, "", POOLCONFIG_MAXCOUNTLEN);
+ strncpy(pools[lines].pool_minorversion, "", POOLCONFIG_MAXCOUNTLEN);
+ strncpy(pools[lines].pool_counter, "", POOLCONFIG_MAXCOUNTLEN);
+ strncpy(pools[lines].pool_backendpid, "", POOLCONFIG_MAXCOUNTLEN);
+ strncpy(pools[lines].pool_connected, "", POOLCONFIG_MAXCOUNTLEN);
+ }
+ else
+ {
+ strncpy(pools[lines].database, pi->connection_info[poolBE].database, POOLCONFIG_MAXIDENTLEN);
+ strncpy(pools[lines].username, pi->connection_info[poolBE].user, POOLCONFIG_MAXIDENTLEN);
+ strftime(pools[lines].create_time, POOLCONFIG_MAXDATELEN, "%Y-%m-%d %H:%M:%S", localtime(&pi->connection_info[poolBE].create_time));
+ snprintf(pools[lines].pool_majorversion, POOLCONFIG_MAXCOUNTLEN, "%d", pi->connection_info[poolBE].major);
+ snprintf(pools[lines].pool_minorversion, POOLCONFIG_MAXCOUNTLEN, "%d", pi->connection_info[poolBE].minor);
+ snprintf(pools[lines].pool_counter, POOLCONFIG_MAXCOUNTLEN, "%d", pi->connection_info[poolBE].counter);
+ snprintf(pools[lines].pool_backendpid, POOLCONFIG_MAXCOUNTLEN, "%d", ntohl(pi->connection_info[poolBE].pid));
+ snprintf(pools[lines].pool_connected, POOLCONFIG_MAXCOUNTLEN, "%d", pi->connection_info[poolBE].connected);
+ }
lines++;
}
}
@@ -1131,7 +1145,7 @@ void processes_reporting(POOL_CONNECTION *frontend, POOL_CONNECTION_POOL *backen
pi = pool_get_process_info(proc_id);
snprintf(processes[child].pool_pid, POOLCONFIG_MAXCOUNTLEN, "%d", proc_id);
- snprintf(processes[child].start_time, POOLCONFIG_MAXDATELEN, "%ld", pi->start_time);
+ strftime(processes[child].start_time, POOLCONFIG_MAXDATELEN, "%Y-%m-%d %H:%M:%S", localtime(&pi->start_time));
strncpy(processes[child].database, "", POOLCONFIG_MAXIDENTLEN);
strncpy(processes[child].username, "", POOLCONFIG_MAXIDENTLEN);
strncpy(processes[child].create_time, "", POOLCONFIG_MAXDATELEN);
@@ -1144,7 +1158,7 @@ void processes_reporting(POOL_CONNECTION *frontend, POOL_CONNECTION_POOL *backen
{
strncpy(processes[child].database, pi->connection_info[poolBE].database, POOLCONFIG_MAXIDENTLEN);
strncpy(processes[child].username, pi->connection_info[poolBE].user, POOLCONFIG_MAXIDENTLEN);
- snprintf(processes[child].create_time, POOLCONFIG_MAXDATELEN, "%ld", pi->connection_info[poolBE].create_time);
+ strftime(processes[child].create_time, POOLCONFIG_MAXDATELEN, "%Y-%m-%d %H:%M:%S", localtime(&pi->connection_info[poolBE].create_time));
snprintf(processes[child].pool_counter, POOLCONFIG_MAXCOUNTLEN, "%d", pi->connection_info[poolBE].counter);
}
}
[parent: 1705efa016ed]