aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/common/Metric/Metric.h3
-rw-r--r--src/server/game/World/World.cpp13
2 files changed, 12 insertions, 4 deletions
diff --git a/src/common/Metric/Metric.h b/src/common/Metric/Metric.h
index 599d432d65d..ed455b6b8e4 100644
--- a/src/common/Metric/Metric.h
+++ b/src/common/Metric/Metric.h
@@ -170,6 +170,7 @@ MetricStopWatch<LoggerType> MakeMetricStopWatch(LoggerType&& loggerFunc)
#define TC_METRIC_VALUE(category, value) ((void)0)
#define TC_METRIC_TIMER(category, ...) ((void)0)
#define TC_METRIC_DETAILED_TIMER(category, ...) ((void)0)
+#define TC_METRIC_DETAILED_NO_THRESHOLD_TIMER(category, ...) ((void)0)
#else
# if TRINITY_PLATFORM != TRINITY_PLATFORM_WINDOWS
#define TC_METRIC_EVENT(category, title, description) \
@@ -213,8 +214,10 @@ MetricStopWatch<LoggerType> MakeMetricStopWatch(LoggerType&& loggerFunc)
if (sMetric->ShouldLog(category, duration)) \
sMetric->LogValue(category, duration, { __VA_ARGS__ }); \
});
+#define TC_METRIC_DETAILED_NO_THRESHOLD_TIMER(category, ...) TC_METRIC_TIMER(category, __VA_ARGS__)
# else
#define TC_METRIC_DETAILED_TIMER(category, ...) ((void)0)
+#define TC_METRIC_DETAILED_NO_THRESHOLD_TIMER(category, ...) ((void)0)
# endif
#endif
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index fd2b5c2a557..a2931e2f70a 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -3337,10 +3337,15 @@ void World::UpdateSessions(uint32 diff)
while (_linkSocketQueue.next(linkInfo))
ProcessLinkInstanceSocket(std::move(linkInfo));
- ///- Add new sessions
- WorldSession* sess = nullptr;
- while (addSessQueue.next(sess))
- AddSession_ (sess);
+ {
+ TC_METRIC_DETAILED_NO_THRESHOLD_TIMER("world_update_time",
+ TC_METRIC_TAG("type", "Add sessions"),
+ TC_METRIC_TAG("parent_type", "Update sessions"));
+ ///- Add new sessions
+ WorldSession* sess = nullptr;
+ while (addSessQueue.next(sess))
+ AddSession_(sess);
+ }
///- Then send an update signal to remaining ones
for (SessionMap::iterator itr = m_sessions.begin(), next; itr != m_sessions.end(); itr = next)