From 94023b48e5ee1512779d089874888a69e9c6800b Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 9 Nov 2023 14:55:26 +0000 Subject: [PATCH] Added more timings --- src/Server.php | 4 ++++ src/timings/Timings.php | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/Server.php b/src/Server.php index bdf17a17e1..8d5f465553 100644 --- a/src/Server.php +++ b/src/Server.php @@ -1386,13 +1386,17 @@ class Server{ } if(!$sync && $this->networkCompressionThreads > 0){ + Timings::$playerNetworkSendCompressAsync->startTiming(); $workerPool = $this->getNetworkCompressionWorkerPool($compressor); //TODO: we really want to be submitting all sessions' buffers in one go to maximize performance $promise = $workerPool->submit($buffer); + Timings::$playerNetworkSendCompressAsync->stopTiming(); }else{ + Timings::$playerNetworkSendCompressSync->startTiming(); $promise = new CompressBatchPromise(); $promise->resolve($compressor->compress($buffer)); + Timings::$playerNetworkSendCompressSync->stopTiming(); } return $promise; diff --git a/src/timings/Timings.php b/src/timings/Timings.php index 0d8a256dea..6405d4b4d0 100644 --- a/src/timings/Timings.php +++ b/src/timings/Timings.php @@ -49,6 +49,8 @@ abstract class Timings{ public static TimingsHandler $playerNetworkSendCompress; public static TimingsHandler $playerNetworkSendCompressBroadcast; public static TimingsHandler $playerNetworkSendCompressSessionBuffer; + public static TimingsHandler $playerNetworkSendCompressSync; + public static TimingsHandler $playerNetworkSendCompressAsync; public static TimingsHandler $playerNetworkSendEncrypt; public static TimingsHandler $playerNetworkSendInventorySync; public static TimingsHandler $playerNetworkSendPreSpawnGameData; @@ -146,6 +148,8 @@ abstract class Timings{ self::$playerNetworkSendCompress = new TimingsHandler("Player Network Send - Compression", self::$playerNetworkSend, group: self::GROUP_BREAKDOWN); self::$playerNetworkSendCompressBroadcast = new TimingsHandler("Player Network Send - Compression (Broadcast)", self::$playerNetworkSendCompress, group: self::GROUP_BREAKDOWN); self::$playerNetworkSendCompressSessionBuffer = new TimingsHandler("Player Network Send - Compression (Session Buffer)", self::$playerNetworkSendCompress, group: self::GROUP_BREAKDOWN); + self::$playerNetworkSendCompressSync = new TimingsHandler("Player Network Send - Compression (Main Thread)", self::$playerNetworkSendCompress, group: self::GROUP_BREAKDOWN); + self::$playerNetworkSendCompressAsync = new TimingsHandler("Player Network Send - Compression (Handoff to Worker Thread)", self::$playerNetworkSendCompress, group: self::GROUP_BREAKDOWN); self::$playerNetworkSendEncrypt = new TimingsHandler("Player Network Send - Encryption", self::$playerNetworkSend, group: self::GROUP_BREAKDOWN); self::$playerNetworkSendInventorySync = new TimingsHandler("Player Network Send - Inventory Sync", self::$playerNetworkSend, group: self::GROUP_BREAKDOWN); self::$playerNetworkSendPreSpawnGameData = new TimingsHandler("Player Network Send - Pre-Spawn Game Data", self::$playerNetworkSend, group: self::GROUP_BREAKDOWN);