From 21e9fac8bd7c16f92d12c3df99536401f1209e58 Mon Sep 17 00:00:00 2001 From: Giacomo Pozzoni Date: Mon, 27 Jul 2020 12:00:28 +0000 Subject: 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> (cherry picked from commit 36ef487a90d0d14c4da8ce7e19b5916b8b15056c) --- src/server/game/World/World.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/server') diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 38438911af5..fd2b5c2a557 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -3352,6 +3352,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)) -- cgit v1.2.3