Added Memory Manager timings

This commit is contained in:
Shoghi Cervantes 2015-04-19 16:01:46 +02:00
parent 094234dc0f
commit 05385acb36
No known key found for this signature in database
GPG Key ID: 78464DB0A7837F89
2 changed files with 8 additions and 1 deletions

View File

@ -112,6 +112,8 @@ class MemoryManager{
} }
public function check(){ public function check(){
Timings::$memoryManagerTimer->startTiming();
if(($this->memoryLimit > 0 or $this->globalMemoryLimit > 0) and ++$this->checkTicker >= $this->checkRate){ if(($this->memoryLimit > 0 or $this->globalMemoryLimit > 0) and ++$this->checkTicker >= $this->checkRate){
$this->checkTicker = 0; $this->checkTicker = 0;
$memory = Utils::getMemoryUsage(true); $memory = Utils::getMemoryUsage(true);
@ -142,6 +144,8 @@ class MemoryManager{
$this->garbageCollectionTicker = 0; $this->garbageCollectionTicker = 0;
$this->triggerGarbageCollector(); $this->triggerGarbageCollector();
} }
Timings::$memoryManagerTimer->stopTiming();
} }
public function triggerGarbageCollector(){ public function triggerGarbageCollector(){

View File

@ -33,6 +33,8 @@ abstract class Timings{
/** @var TimingsHandler */ /** @var TimingsHandler */
public static $serverTickTimer; public static $serverTickTimer;
/** @var TimingsHandler */ /** @var TimingsHandler */
public static $memoryManagerTimer;
/** @var TimingsHandler */
public static $garbageCollectorTimer; public static $garbageCollectorTimer;
/** @var TimingsHandler */ /** @var TimingsHandler */
public static $playerListTimer; public static $playerListTimer;
@ -98,7 +100,8 @@ abstract class Timings{
} }
self::$serverTickTimer = new TimingsHandler("** Full Server Tick"); self::$serverTickTimer = new TimingsHandler("** Full Server Tick");
self::$garbageCollectorTimer = new TimingsHandler("Garbage Collector"); self::$memoryManagerTimer = new TimingsHandler("Memory Manager");
self::$garbageCollectorTimer = new TimingsHandler("Garbage Collector", self::$memoryManagerTimer);
self::$playerListTimer = new TimingsHandler("Player List"); self::$playerListTimer = new TimingsHandler("Player List");
self::$connectionTimer = new TimingsHandler("Connection Handler"); self::$connectionTimer = new TimingsHandler("Connection Handler");
self::$tickablesTimer = new TimingsHandler("Tickables"); self::$tickablesTimer = new TimingsHandler("Tickables");