diff options
author | OpenGnSys Support Team <soporte-og@soleta.eu> | 2022-03-25 14:57:36 +0100 |
---|---|---|
committer | OpenGnSys Support Team <soporte-og@soleta.eu> | 2022-03-25 14:58:27 +0100 |
commit | f3422f6afa7acabb96fcd50bd4a09c756afb7326 (patch) | |
tree | 07295a8e345b7e1a3bfeb956bc636da27600f4e3 /src | |
parent | 3b4aa721a46135ca1f441e79066248ad3cb79466 (diff) |
#915 add seconds since ogserver has been launched
Extend GET /stats to show the number of seconds since the ogserver started.
{
"time": {
"now": 1647262765, /* Seconds since 1970 */
"boot": 2151909 /* Seconds since boot */
"start" : 1647262854,, /* Seconds since 1970 */
},
[...]
Diffstat (limited to 'src')
-rw-r--r-- | src/core.h | 1 | ||||
-rw-r--r-- | src/main.c | 4 | ||||
-rw-r--r-- | src/rest.c | 6 |
3 files changed, 10 insertions, 1 deletions
@@ -3,6 +3,7 @@ extern int socket_rest, socket_agent_rest; extern struct ev_loop *og_loop; +extern time_t start_time; int og_socket_server_init(const char *port); void og_server_accept_cb(struct ev_loop *loop, struct ev_io *io, int events); @@ -34,12 +34,16 @@ struct og_server_cfg ogconfig = { }, }; +time_t start_time; + int main(int argc, char *argv[]) { char config_file[PATH_MAX + 1] = OG_SERVER_CFG_JSON; struct ev_io ev_io_server_rest, ev_io_agent_rest; int val; + start_time = time(NULL); + og_loop = ev_default_loop(0); if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) @@ -12,6 +12,7 @@ #include "utils.h" #include "list.h" #include "rest.h" +#include "core.h" #include "wol.h" #include "cfg.h" #include "schedule.h" @@ -5424,6 +5425,7 @@ static int og_cmd_get_server_stats(char *buffer_reply) .data = buffer_reply }; struct sysinfo stats; + time_t now; sysinfo(&stats); @@ -5449,8 +5451,10 @@ static int og_cmd_get_server_stats(char *buffer_reply) return -1; } - json_object_set_new(time_obj, "now", json_integer(time(NULL))); + now = time(NULL); + json_object_set_new(time_obj, "now", json_integer(now)); json_object_set_new(time_obj, "boot", json_integer(stats.uptime)); + json_object_set_new(time_obj, "start", json_integer(now - start_time)); json_object_set_new(root, "time", time_obj); json_object_set_new(memory, "size", json_integer(stats.totalram)); |