aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorGiacomo Pozzoni <giacomopoz@gmail.com>2020-07-27 12:00:28 +0000
committerGitHub <noreply@github.com>2020-07-27 14:00:28 +0200
commit36ef487a90d0d14c4da8ce7e19b5916b8b15056c (patch)
treeb1df48db3bd340b47e292f82c4bf7bab4a69a703 /src/server
parent480dee3125929181b7004810516ea673c61f5811 (diff)
Core/Metric: Add new cmake option WITH_DETAILED_METRICS to enable more metrics (#25136)
* Core/Metric: Add new cmake option WITH_DETAILED_METRICS to enable more metrics Add more detailed metrics in World::UpdateSessions(). * Attempt using C++17 features * Fix cmake typo Co-authored-by: NoName <322016+Faq@users.noreply.github.com> * Fix build with WITHOUT_METRICS * Update Performance profiling dashboard with Update sessions panel * Add panel to show sessions with update time above 100 ms * Move legends on the right and add max update time diff in the legend of sessions Co-authored-by: NoName <322016+Faq@users.noreply.github.com>
Diffstat (limited to 'src/server')
-rw-r--r--src/server/game/World/World.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index fe1abc71094..0e050c110b0 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -3074,6 +3074,9 @@ void World::UpdateSessions(uint32 diff)
WorldSession* pSession = itr->second;
WorldSessionFilter updater(pSession);
+ [[maybe_unused]] uint32 currentSessionId = itr->first;
+ TC_METRIC_DETAILED_TIMER("world_update_sessions_time", TC_METRIC_TAG("account_id", std::to_string(currentSessionId)));
+
if (!pSession->Update(diff, updater)) // As interval = 0
{
if (!RemoveQueuedPlayer(itr->second) && itr->second && getIntConfig(CONFIG_INTERVAL_DISCONNECT_TOLERANCE))