summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Kozlov <xeb@mail.ru>2010-12-17 22:06:11 +0300
committerDmitry Kozlov <xeb@mail.ru>2010-12-17 22:06:11 +0300
commite8507d40aa9d55eb3af6196584bf3118d4f08050 (patch)
treeebb0bbb4f5bab99b6496d7beb64888a403465973
parent33845548dbae8fb6b798afb135b1aab60ab19093 (diff)
downloadaccel-ppp-e8507d40aa9d55eb3af6196584bf3118d4f08050.tar.gz
accel-ppp-e8507d40aa9d55eb3af6196584bf3118d4f08050.zip
cli: show uptime in statistics
-rw-r--r--accel-pptpd/cli/std_cmd.c11
-rw-r--r--accel-pptpd/triton/triton.c2
-rw-r--r--accel-pptpd/triton/triton.h1
3 files changed, 14 insertions, 0 deletions
diff --git a/accel-pptpd/cli/std_cmd.c b/accel-pptpd/cli/std_cmd.c
index 673d2778..2ff77282 100644
--- a/accel-pptpd/cli/std_cmd.c
+++ b/accel-pptpd/cli/std_cmd.c
@@ -14,6 +14,17 @@
static int show_stat_exec(const char *cmd, char * const *fields, int fields_cnt, void *client)
{
+ time_t dt;
+ int day,hour;
+
+ time(&dt);
+ dt -= triton_stat.start_time;
+ day = dt / (60 * 60 * 24);
+ dt %= 60 * 60 * 24;
+ hour = dt / (60 * 60);
+ dt %= 60 * 60;
+
+ cli_sendv(client, "uptime: %i.%02i:%02i:%02i\r\n", day, hour, dt / 60, dt % 60);
cli_send(client, "core:\r\n");
cli_sendv(client, " mempool_allocated: %u\r\n", triton_stat.mempool_allocated);
cli_sendv(client, " mempool_available: %u\r\n", triton_stat.mempool_available);
diff --git a/accel-pptpd/triton/triton.c b/accel-pptpd/triton/triton.c
index 26c257c7..15e38882 100644
--- a/accel-pptpd/triton/triton.c
+++ b/accel-pptpd/triton/triton.c
@@ -484,6 +484,8 @@ void __export triton_run()
list_add_tail(&t->entry, &threads);
}
+ time(&triton_stat.start_time);
+
md_run();
timer_run();
}
diff --git a/accel-pptpd/triton/triton.h b/accel-pptpd/triton/triton.h
index 0fd450cc..d61253b9 100644
--- a/accel-pptpd/triton/triton.h
+++ b/accel-pptpd/triton/triton.h
@@ -63,6 +63,7 @@ struct triton_stat_t
uint32_t md_handler_pending;
uint32_t timer_count;
uint32_t timer_pending;
+ time_t start_time;
};
extern struct triton_stat_t triton_stat;