From e0b6e16994fa8625f721adb366a47091fb0277c8 Mon Sep 17 00:00:00 2001 From: lotodore Date: Wed, 28 Nov 2007 23:31:34 +0000 Subject: [PATCH] Added uptime stat in admin irc. --- src/net/common/serverlobbythread.cpp | 8 +++++++- src/net/common/servermanager.cpp | 7 +++++++ src/net/serverlobbythread.h | 5 ++++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/net/common/serverlobbythread.cpp b/src/net/common/serverlobbythread.cpp index e5060769..91030bab 100644 --- a/src/net/common/serverlobbythread.cpp +++ b/src/net/common/serverlobbythread.cpp @@ -69,7 +69,7 @@ private: ServerLobbyThread::ServerLobbyThread(GuiInterface &gui, ConfigFile *playerConfig, AvatarManager &avatarManager) : m_gui(gui), m_avatarManager(avatarManager), m_playerConfig(playerConfig), m_curGameId(0), m_curUniquePlayerId(0), m_curSessionId(INVALID_SESSION + 1), - m_statDataChanged(false) + m_statDataChanged(false), m_startTime(boost::posix_time::second_clock::local_time()) { m_senderCallback.reset(new ServerSenderCallback(*this)); m_sender.reset(new SenderThread(GetSenderCallback())); @@ -273,6 +273,12 @@ ServerLobbyThread::GetStats() const return m_statData; } +boost::posix_time::ptime +ServerLobbyThread::GetStartTime() const +{ + return m_startTime; +} + u_int32_t ServerLobbyThread::GetNextUniquePlayerId() { diff --git a/src/net/common/servermanager.cpp b/src/net/common/servermanager.cpp index a0f5d53e..deeea3d7 100644 --- a/src/net/common/servermanager.cpp +++ b/src/net/common/servermanager.cpp @@ -111,6 +111,13 @@ ServerManager::SignalIrcChatMsg(const std::string &nickName, const std::string & else if (command == "stat") { ServerStats tmpStats = GetLobbyThread().GetStats(); + boost::posix_time::ptime curTime(boost::posix_time::second_clock::local_time()); + { + ostringstream statStream; + statStream + << "Server uptime................ " << curTime - GetLobbyThread().GetStartTime(); + m_ircThread->SendChatMessage(statStream.str()); + } { ostringstream statStream; statStream diff --git a/src/net/serverlobbythread.h b/src/net/serverlobbythread.h index fa3298f5..3f4318b1 100644 --- a/src/net/serverlobbythread.h +++ b/src/net/serverlobbythread.h @@ -29,6 +29,7 @@ #include #include +#include #include #define NET_LOBBY_THREAD_TERMINATE_TIMEOUT_MSEC 20000 @@ -80,6 +81,7 @@ public: AvatarManager &GetAvatarManager(); ServerStats GetStats() const; + boost::posix_time::ptime GetStartTime() const; SenderThread &GetSender(); @@ -198,7 +200,8 @@ private: boost::timers::portable::microsec_timer m_cacheCleanupTimer; boost::timers::portable::microsec_timer m_saveStatisticsTimer; - boost::timers::portable::microsec_timer m_uptimeTimer; + + const boost::posix_time::ptime m_startTime; }; #endif