TimingsHandler::printTimings() now returns a list of strings instead of requiring a resource

This commit is contained in:
Dylan K. Taylor 2020-12-09 22:32:32 +00:00
parent 58db3531c7
commit 5282ae3298
2 changed files with 16 additions and 14 deletions

View File

@ -36,6 +36,7 @@ use function fclose;
use function file_exists;
use function fopen;
use function fseek;
use function fwrite;
use function http_build_query;
use function is_array;
use function json_decode;
@ -47,6 +48,7 @@ use const CURLOPT_FOLLOWLOCATION;
use const CURLOPT_HTTPHEADER;
use const CURLOPT_POST;
use const CURLOPT_POSTFIELDS;
use const PHP_EOL;
class TimingsCommand extends VanillaCommand{
@ -110,7 +112,10 @@ class TimingsCommand extends VanillaCommand{
$fileTimings = fopen($timings, "a+b");
}
TimingsHandler::printTimings($fileTimings);
$lines = TimingsHandler::printTimings();
foreach($lines as $line){
fwrite($fileTimings, $line . PHP_EOL);
}
if($paste){
fseek($fileTimings, 0);

View File

@ -26,9 +26,7 @@ namespace pocketmine\timings;
use pocketmine\entity\Living;
use pocketmine\Server;
use function count;
use function fwrite;
use function hrtime;
use const PHP_EOL;
class TimingsHandler{
/** @var bool */
@ -36,11 +34,9 @@ class TimingsHandler{
/** @var int */
private static $timingStart = 0;
/**
* @param resource $fp
*/
public static function printTimings($fp) : void{
fwrite($fp, "Minecraft" . PHP_EOL);
/** @return string[] */
public static function printTimings() : array{
$result = ["Minecraft"];
foreach(TimingsRecord::getAll() as $timings){
$time = $timings->getTotalTime();
@ -52,11 +48,11 @@ class TimingsHandler{
$avg = $time / $count;
fwrite($fp, " " . $timings->getName() . " Time: $time Count: " . $count . " Avg: $avg Violations: " . $timings->getViolations() . PHP_EOL);
$result[] = " " . $timings->getName() . " Time: $time Count: " . $count . " Avg: $avg Violations: " . $timings->getViolations();
}
fwrite($fp, "# Version " . Server::getInstance()->getVersion() . PHP_EOL);
fwrite($fp, "# " . Server::getInstance()->getName() . " " . Server::getInstance()->getPocketMineVersion() . PHP_EOL);
$result[] = "# Version " . Server::getInstance()->getVersion();
$result[] = "# " . Server::getInstance()->getName() . " " . Server::getInstance()->getPocketMineVersion();
$entities = 0;
$livingEntities = 0;
@ -69,11 +65,12 @@ class TimingsHandler{
}
}
fwrite($fp, "# Entities " . $entities . PHP_EOL);
fwrite($fp, "# LivingEntities " . $livingEntities . PHP_EOL);
$result[] = "# Entities " . $entities;
$result[] = "# LivingEntities " . $livingEntities;
$sampleTime = hrtime(true) - self::$timingStart;
fwrite($fp, "Sample time $sampleTime (" . ($sampleTime / 1000000000) . "s)" . PHP_EOL);
$result[] = "Sample time $sampleTime (" . ($sampleTime / 1000000000) . "s)";
return $result;
}
public static function isEnabled() : bool{