GenisysPro  for Minecraft PE/Windows 10 v1.1.x
Feature-rich server software for Minecraft PE and Windows 10 Edition
Timings Class Reference

Static Public Member Functions

static init ()
 
static getPluginTaskTimings (TaskHandler $task, $period)
 
static getEntityTimings (Entity $entity)
 
static getTileEntityTimings (Tile $tile)
 
static getReceiveDataPacketTimings (DataPacket $pk)
 
static getSendDataPacketTimings (DataPacket $pk)
 

Static Public Attributes

static $fullTickTimer
 
static $serverTickTimer
 
static $memoryManagerTimer
 
static $garbageCollectorTimer
 
static $playerListTimer
 
static $playerNetworkTimer
 
static $playerNetworkReceiveTimer
 
static $playerChunkOrderTimer
 
static $playerChunkSendTimer
 
static $connectionTimer
 
static $tickablesTimer
 
static $schedulerTimer
 
static $chunkIOTickTimer
 
static $timeUpdateTimer
 
static $serverCommandTimer
 
static $worldSaveTimer
 
static $generationTimer
 
static $populationTimer
 
static $generationCallbackTimer
 
static $permissibleCalculationTimer
 
static $permissionDefaultTimer
 
static $entityMoveTimer
 
static $tickEntityTimer
 
static $activatedEntityTimer
 
static $tickTileEntityTimer
 
static $timerEntityBaseTick
 
static $timerLivingEntityBaseTick
 
static $timerEntityAI
 
static $timerEntityAICollision
 
static $timerEntityAIMove
 
static $timerEntityTickRest
 
static $schedulerSyncTimer
 
static $schedulerAsyncTimer
 
static $playerCommandTimer
 
static $craftingDataCacheRebuildTimer
 
static $entityTypeTimingMap = []
 
static $tileEntityTypeTimingMap = []
 
static $packetReceiveTimingMap = []
 
static $packetSendTimingMap = []
 
static $pluginTaskTimingMap = []
 

Member Function Documentation

◆ getEntityTimings()

static getEntityTimings ( Entity  $entity)
static
Parameters
Entity$entity
Returns
TimingsHandler
207  {
208  $entityType = (new \ReflectionClass($entity))->getShortName();
209  if(!isset(self::$entityTypeTimingMap[$entityType])){
210  if($entity instanceof Player){
211  self::$entityTypeTimingMap[$entityType] = new TimingsHandler("** tickEntity - EntityPlayer", self::$tickEntityTimer);
212  }else{
213  self::$entityTypeTimingMap[$entityType] = new TimingsHandler("** tickEntity - " . $entityType, self::$tickEntityTimer);
214  }
215  }
216 
217  return self::$entityTypeTimingMap[$entityType];
218  }

◆ getPluginTaskTimings()

static getPluginTaskTimings ( TaskHandler  $task,
  $period 
)
static
Parameters
TaskHandler$task
$period
Returns
TimingsHandler
175  {
176  $ftask = $task->getTask();
177  if($ftask instanceof PluginTask and $ftask->getOwner() !== null){
178  $plugin = $ftask->getOwner()->getDescription()->getFullName();
179  }elseif($task->timingName !== null){
180  $plugin = "Scheduler";
181  }else{
182  $plugin = "Unknown";
183  }
184 
185  $taskname = $task->getTaskName();
186 
187  $name = "Task: " . $plugin . " Runnable: " . $taskname;
188 
189  if($period > 0){
190  $name .= "(interval:" . $period . ")";
191  }else{
192  $name .= "(Single)";
193  }
194 
195  if(!isset(self::$pluginTaskTimingMap[$name])){
196  self::$pluginTaskTimingMap[$name] = new TimingsHandler($name, self::$schedulerSyncTimer);
197  }
198 
199  return self::$pluginTaskTimingMap[$name];
200  }

◆ getReceiveDataPacketTimings()

static getReceiveDataPacketTimings ( DataPacket  $pk)
static
Parameters
DataPacket$pk
Returns
TimingsHandler
239  {
240  if(!isset(self::$packetReceiveTimingMap[$pk::NETWORK_ID])){
241  $pkName = (new \ReflectionClass($pk))->getShortName();
242  self::$packetReceiveTimingMap[$pk::NETWORK_ID] = new TimingsHandler("** receivePacket - " . $pkName . " [0x" . dechex($pk::NETWORK_ID) . "]", self::$playerNetworkReceiveTimer);
243  }
244 
245  return self::$packetReceiveTimingMap[$pk::NETWORK_ID];
246  }

◆ getSendDataPacketTimings()

static getSendDataPacketTimings ( DataPacket  $pk)
static
Parameters
DataPacket$pk
Returns
TimingsHandler
254  {
255  if(!isset(self::$packetSendTimingMap[$pk::NETWORK_ID])){
256  $pkName = (new \ReflectionClass($pk))->getShortName();
257  self::$packetSendTimingMap[$pk::NETWORK_ID] = new TimingsHandler("** sendPacket - " . $pkName . " [0x" . dechex($pk::NETWORK_ID) . "]", self::$playerNetworkTimer);
258  }
259 
260  return self::$packetSendTimingMap[$pk::NETWORK_ID];
261  }

◆ getTileEntityTimings()

static getTileEntityTimings ( Tile  $tile)
static
Parameters
Tile$tile
Returns
TimingsHandler
225  {
226  $tileType = (new \ReflectionClass($tile))->getShortName();
227  if(!isset(self::$tileEntityTypeTimingMap[$tileType])){
228  self::$tileEntityTypeTimingMap[$tileType] = new TimingsHandler("** tickTileEntity - " . $tileType, self::$tickTileEntityTimer);
229  }
230 
231  return self::$tileEntityTypeTimingMap[$tileType];
232  }

◆ init()

static init ( )
static
122  {
123  if(self::$serverTickTimer instanceof TimingsHandler){
124  return;
125  }
126 
127  self::$fullTickTimer = new TimingsHandler("Full Server Tick");
128  self::$serverTickTimer = new TimingsHandler("** Full Server Tick", self::$fullTickTimer);
129  self::$memoryManagerTimer = new TimingsHandler("Memory Manager");
130  self::$garbageCollectorTimer = new TimingsHandler("Garbage Collector", self::$memoryManagerTimer);
131  self::$playerListTimer = new TimingsHandler("Player List");
132  self::$playerNetworkTimer = new TimingsHandler("Player Network Send");
133  self::$playerNetworkReceiveTimer = new TimingsHandler("Player Network Receive");
134  self::$playerChunkOrderTimer = new TimingsHandler("Player Order Chunks");
135  self::$playerChunkSendTimer = new TimingsHandler("Player Send Chunks");
136  self::$connectionTimer = new TimingsHandler("Connection Handler");
137  self::$tickablesTimer = new TimingsHandler("Tickables");
138  self::$schedulerTimer = new TimingsHandler("Scheduler");
139  self::$chunkIOTickTimer = new TimingsHandler("ChunkIOTick");
140  self::$timeUpdateTimer = new TimingsHandler("Time Update");
141  self::$serverCommandTimer = new TimingsHandler("Server Command");
142  self::$worldSaveTimer = new TimingsHandler("World Save");
143  self::$generationTimer = new TimingsHandler("World Generation");
144  self::$populationTimer = new TimingsHandler("World Population");
145  self::$generationCallbackTimer = new TimingsHandler("World Generation Callback");
146  self::$permissibleCalculationTimer = new TimingsHandler("Permissible Calculation");
147  self::$permissionDefaultTimer = new TimingsHandler("Default Permission Calculation");
148 
149  self::$entityMoveTimer = new TimingsHandler("** entityMove");
150  self::$tickEntityTimer = new TimingsHandler("** tickEntity");
151  self::$activatedEntityTimer = new TimingsHandler("** activatedTickEntity");
152  self::$tickTileEntityTimer = new TimingsHandler("** tickTileEntity");
153 
154  self::$timerEntityBaseTick = new TimingsHandler("** entityBaseTick");
155  self::$timerLivingEntityBaseTick = new TimingsHandler("** livingEntityBaseTick");
156  self::$timerEntityAI = new TimingsHandler("** livingEntityAI");
157  self::$timerEntityAICollision = new TimingsHandler("** livingEntityAICollision");
158  self::$timerEntityAIMove = new TimingsHandler("** livingEntityAIMove");
159  self::$timerEntityTickRest = new TimingsHandler("** livingEntityTickRest");
160 
161  self::$schedulerSyncTimer = new TimingsHandler("** Scheduler - Sync Tasks", PluginManager::$pluginParentTimer);
162  self::$schedulerAsyncTimer = new TimingsHandler("** Scheduler - Async Tasks");
163 
164  self::$playerCommandTimer = new TimingsHandler("** playerCommand");
165  self::$craftingDataCacheRebuildTimer = new TimingsHandler("** craftingDataCacheRebuild");
166 
167  }

Field Documentation

◆ $activatedEntityTimer

$activatedEntityTimer
static

◆ $chunkIOTickTimer

$chunkIOTickTimer
static

◆ $connectionTimer

$connectionTimer
static

◆ $craftingDataCacheRebuildTimer

$craftingDataCacheRebuildTimer
static

◆ $entityMoveTimer

$entityMoveTimer
static

◆ $entityTypeTimingMap

$entityTypeTimingMap = []
static

◆ $fullTickTimer

$fullTickTimer
static

◆ $garbageCollectorTimer

$garbageCollectorTimer
static

◆ $generationCallbackTimer

$generationCallbackTimer
static

◆ $generationTimer

$generationTimer
static

◆ $memoryManagerTimer

$memoryManagerTimer
static

◆ $packetReceiveTimingMap

$packetReceiveTimingMap = []
static

◆ $packetSendTimingMap

$packetSendTimingMap = []
static

◆ $permissibleCalculationTimer

$permissibleCalculationTimer
static

◆ $permissionDefaultTimer

$permissionDefaultTimer
static

◆ $playerChunkOrderTimer

$playerChunkOrderTimer
static

◆ $playerChunkSendTimer

$playerChunkSendTimer
static

◆ $playerCommandTimer

$playerCommandTimer
static

◆ $playerListTimer

$playerListTimer
static

◆ $playerNetworkReceiveTimer

$playerNetworkReceiveTimer
static

◆ $playerNetworkTimer

$playerNetworkTimer
static

◆ $pluginTaskTimingMap

$pluginTaskTimingMap = []
static

◆ $populationTimer

$populationTimer
static

◆ $schedulerAsyncTimer

$schedulerAsyncTimer
static

◆ $schedulerSyncTimer

$schedulerSyncTimer
static

◆ $schedulerTimer

$schedulerTimer
static

◆ $serverCommandTimer

$serverCommandTimer
static

◆ $serverTickTimer

$serverTickTimer
static

◆ $tickablesTimer

$tickablesTimer
static

◆ $tickEntityTimer

$tickEntityTimer
static

◆ $tickTileEntityTimer

$tickTileEntityTimer
static

◆ $tileEntityTypeTimingMap

$tileEntityTypeTimingMap = []
static

◆ $timerEntityAI

$timerEntityAI
static

◆ $timerEntityAICollision

$timerEntityAICollision
static

◆ $timerEntityAIMove

$timerEntityAIMove
static

◆ $timerEntityBaseTick

$timerEntityBaseTick
static

◆ $timerEntityTickRest

$timerEntityTickRest
static

◆ $timerLivingEntityBaseTick

$timerLivingEntityBaseTick
static

◆ $timeUpdateTimer

$timeUpdateTimer
static

◆ $worldSaveTimer

$worldSaveTimer
static

The documentation for this class was generated from the following file: