dvadf
File manager - Edit - /home/centroca/public_html/Dumper.tar
Back
BlackfireDumper.php 0000644 00000003623 15253200146 0010316 0 ustar 00 <?php /* * This file is part of Twig. * * (c) Fabien Potencier * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace ElementorDeps\Twig\Profiler\Dumper; use ElementorDeps\Twig\Profiler\Profile; /** * @author Fabien Potencier <fabien@symfony.com> */ final class BlackfireDumper { public function dump(Profile $profile) : string { $data = []; $this->dumpProfile('main()', $profile, $data); $this->dumpChildren('main()', $profile, $data); $start = \sprintf('%f', \microtime(\true)); $str = <<<EOF file-format: BlackfireProbe cost-dimensions: wt mu pmu request-start: {$start} EOF; foreach ($data as $name => $values) { $str .= "{$name}//{$values['ct']} {$values['wt']} {$values['mu']} {$values['pmu']}\n"; } return $str; } private function dumpChildren(string $parent, Profile $profile, &$data) { foreach ($profile as $p) { if ($p->isTemplate()) { $name = $p->getTemplate(); } else { $name = \sprintf('%s::%s(%s)', $p->getTemplate(), $p->getType(), $p->getName()); } $this->dumpProfile(\sprintf('%s==>%s', $parent, $name), $p, $data); $this->dumpChildren($name, $p, $data); } } private function dumpProfile(string $edge, Profile $profile, &$data) { if (isset($data[$edge])) { ++$data[$edge]['ct']; $data[$edge]['wt'] += \floor($profile->getDuration() * 1000000); $data[$edge]['mu'] += $profile->getMemoryUsage(); $data[$edge]['pmu'] += $profile->getPeakMemoryUsage(); } else { $data[$edge] = ['ct' => 1, 'wt' => \floor($profile->getDuration() * 1000000), 'mu' => $profile->getMemoryUsage(), 'pmu' => $profile->getPeakMemoryUsage()]; } } } BaseDumper.php 0000644 00000003332 15253200146 0007303 0 ustar 00 <?php /* * This file is part of Twig. * * (c) Fabien Potencier * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace ElementorDeps\Twig\Profiler\Dumper; use ElementorDeps\Twig\Profiler\Profile; /** * @author Fabien Potencier <fabien@symfony.com> */ abstract class BaseDumper { private $root; public function dump(Profile $profile) : string { return $this->dumpProfile($profile); } protected abstract function formatTemplate(Profile $profile, $prefix) : string; protected abstract function formatNonTemplate(Profile $profile, $prefix) : string; protected abstract function formatTime(Profile $profile, $percent) : string; private function dumpProfile(Profile $profile, $prefix = '', $sibling = \false) : string { if ($profile->isRoot()) { $this->root = $profile->getDuration(); $start = $profile->getName(); } else { if ($profile->isTemplate()) { $start = $this->formatTemplate($profile, $prefix); } else { $start = $this->formatNonTemplate($profile, $prefix); } $prefix .= $sibling ? '│ ' : ' '; } $percent = $this->root ? $profile->getDuration() / $this->root * 100 : 0; if ($profile->getDuration() * 1000 < 1) { $str = $start . "\n"; } else { $str = \sprintf("%s %s\n", $start, $this->formatTime($profile, $percent)); } $nCount = \count($profile->getProfiles()); foreach ($profile as $i => $p) { $str .= $this->dumpProfile($p, $prefix, $i + 1 !== $nCount); } return $str; } } TextDumper.php 0000644 00000001636 15253200146 0007362 0 ustar 00 <?php /* * This file is part of Twig. * * (c) Fabien Potencier * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace ElementorDeps\Twig\Profiler\Dumper; use ElementorDeps\Twig\Profiler\Profile; /** * @author Fabien Potencier <fabien@symfony.com> */ final class TextDumper extends BaseDumper { protected function formatTemplate(Profile $profile, $prefix) : string { return \sprintf('%s└ %s', $prefix, $profile->getTemplate()); } protected function formatNonTemplate(Profile $profile, $prefix) : string { return \sprintf('%s└ %s::%s(%s)', $prefix, $profile->getTemplate(), $profile->getType(), $profile->getName()); } protected function formatTime(Profile $profile, $percent) : string { return \sprintf('%.2fms/%.0f%%', $profile->getDuration() * 1000, $percent); } } HtmlDumper.php 0000644 00000002561 15253200146 0007340 0 ustar 00 <?php /* * This file is part of Twig. * * (c) Fabien Potencier * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace ElementorDeps\Twig\Profiler\Dumper; use ElementorDeps\Twig\Profiler\Profile; /** * @author Fabien Potencier <fabien@symfony.com> */ final class HtmlDumper extends BaseDumper { private static $colors = ['block' => '#dfd', 'macro' => '#ddf', 'template' => '#ffd', 'big' => '#d44']; public function dump(Profile $profile) : string { return '<pre>' . parent::dump($profile) . '</pre>'; } protected function formatTemplate(Profile $profile, $prefix) : string { return \sprintf('%s└ <span style="background-color: %s">%s</span>', $prefix, self::$colors['template'], $profile->getTemplate()); } protected function formatNonTemplate(Profile $profile, $prefix) : string { return \sprintf('%s└ %s::%s(<span style="background-color: %s">%s</span>)', $prefix, $profile->getTemplate(), $profile->getType(), self::$colors[$profile->getType()] ?? 'auto', $profile->getName()); } protected function formatTime(Profile $profile, $percent) : string { return \sprintf('<span style="color: %s">%.2fms/%.0f%%</span>', $percent > 20 ? self::$colors['big'] : 'auto', $profile->getDuration() * 1000, $percent); } }
dvadf
dvadf
| ver. 1.4 |
Github
|
.
| PHP 7.3.33 | Generation time: 0 |
proxy
|
phpinfo
|
Settings