From 5282ae329834512a6ca497e8c4bdbcb73ec86db2 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Wed, 9 Dec 2020 22:32:32 +0000 Subject: [PATCH] TimingsHandler::printTimings() now returns a list of strings instead of requiring a resource --- src/command/defaults/TimingsCommand.php | 7 ++++++- src/timings/TimingsHandler.php | 23 ++++++++++------------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/command/defaults/TimingsCommand.php b/src/command/defaults/TimingsCommand.php index 98204167a..d18dc55aa 100644 --- a/src/command/defaults/TimingsCommand.php +++ b/src/command/defaults/TimingsCommand.php @@ -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); diff --git a/src/timings/TimingsHandler.php b/src/timings/TimingsHandler.php index eb7d402cb..eef7cd091 100644 --- a/src/timings/TimingsHandler.php +++ b/src/timings/TimingsHandler.php @@ -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{