diff options
author | jackpoz <giacomopoz@gmail.com> | 2020-07-28 17:46:38 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-01-24 13:12:21 +0100 |
commit | f220e46c50301b1d77d321bf6eed5093370a2fef (patch) | |
tree | 4acc628542aca3610fe83c6129f79e029e243f57 /src | |
parent | b3f2ff97ffae7012904e149271ff2dc080890829 (diff) |
Core/Metric: Add new metric in World::UpdateSessions()
Add new metric about how long adding sessions took
(cherry picked from commit 5cd93df9eec1d1b310916fefecc9282e02e9cf2d)
Diffstat (limited to 'src')
-rw-r--r-- | src/common/Metric/Metric.h | 3 | ||||
-rw-r--r-- | src/server/game/World/World.cpp | 13 |
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) |