diff options
Diffstat (limited to 'src/Stats.cxx')
-rw-r--r-- | src/Stats.cxx | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/src/Stats.cxx b/src/Stats.cxx index f224bdf49..e22f1a995 100644 --- a/src/Stats.cxx +++ b/src/Stats.cxx @@ -26,21 +26,24 @@ #include "DatabasePlugin.hxx" #include "DatabaseSimple.hxx" #include "util/Error.hxx" +#include "system/Clock.hxx" #include "Log.hxx" -#include <glib.h> +#ifndef WIN32 +/** + * The monotonic time stamp when MPD was started. It is used to + * calculate the uptime. + */ +static unsigned start_time; +#endif -static GTimer *uptime; static DatabaseStats stats; void stats_global_init(void) { - uptime = g_timer_new(); -} - -void stats_global_finish(void) -{ - g_timer_destroy(uptime); +#ifndef WIN32 + start_time = MonotonicClockS(); +#endif } void stats_update(void) @@ -94,9 +97,13 @@ void stats_print(Client &client) { client_printf(client, - "uptime: %lu\n" + "uptime: %u\n" "playtime: %lu\n", - (unsigned long)g_timer_elapsed(uptime, NULL), +#ifdef WIN32 + GetProcessUptimeS(), +#else + MonotonicClockS() - start_time, +#endif (unsigned long)(client.player_control.GetTotalPlayTime() + 0.5)); if (GetDatabase() != nullptr) |