Added timings for console title ticking

As stupid as this seems, this can actually cost a significant amount of tick time due to reading from disk and/or executing commands.
This commit is contained in:
Dylan K. Taylor 2017-07-04 16:37:46 +01:00
parent 9c9095060f
commit 1a6517ea4e
2 changed files with 6 additions and 0 deletions

View File

@ -2384,6 +2384,7 @@ class Server{
} }
private function titleTick(){ private function titleTick(){
Timings::$titleTickTimer->startTiming();
$d = Utils::getRealMemoryUsage(); $d = Utils::getRealMemoryUsage();
$u = Utils::getMemoryUsage(true); $u = Utils::getMemoryUsage(true);
@ -2399,6 +2400,8 @@ class Server{
" | Load " . $this->getTickUsageAverage() . "%\x07"; " | Load " . $this->getTickUsageAverage() . "%\x07";
$this->network->resetStatistics(); $this->network->resetStatistics();
Timings::$titleTickTimer->stopTiming();
} }
/** /**

View File

@ -42,6 +42,8 @@ abstract class Timings{
/** @var TimingsHandler */ /** @var TimingsHandler */
public static $garbageCollectorTimer; public static $garbageCollectorTimer;
/** @var TimingsHandler */ /** @var TimingsHandler */
public static $titleTickTimer;
/** @var TimingsHandler */
public static $playerListTimer; public static $playerListTimer;
/** @var TimingsHandler */ /** @var TimingsHandler */
public static $playerNetworkTimer; public static $playerNetworkTimer;
@ -129,6 +131,7 @@ abstract class Timings{
self::$serverTickTimer = new TimingsHandler("** Full Server Tick", self::$fullTickTimer); self::$serverTickTimer = new TimingsHandler("** Full Server Tick", self::$fullTickTimer);
self::$memoryManagerTimer = new TimingsHandler("Memory Manager"); self::$memoryManagerTimer = new TimingsHandler("Memory Manager");
self::$garbageCollectorTimer = new TimingsHandler("Garbage Collector", self::$memoryManagerTimer); self::$garbageCollectorTimer = new TimingsHandler("Garbage Collector", self::$memoryManagerTimer);
self::$titleTickTimer = new TimingsHandler("Console Title Tick");
self::$playerListTimer = new TimingsHandler("Player List"); self::$playerListTimer = new TimingsHandler("Player List");
self::$playerNetworkTimer = new TimingsHandler("Player Network Send"); self::$playerNetworkTimer = new TimingsHandler("Player Network Send");
self::$playerNetworkReceiveTimer = new TimingsHandler("Player Network Receive"); self::$playerNetworkReceiveTimer = new TimingsHandler("Player Network Receive");