smilian / perfreporter
测量Symfony项目的PHP代码性能。处理测量、响应时间、文件位置...
dev-main
2022-03-21 14:46 UTC
Requires
- php: >=7.4
- nesbot/carbon: ^2.57
This package is auto-updated.
Last update: 2024-09-21 20:43:50 UTC
README
Perf-Reporter是一个针对Symfony 5及更高版本的项目,允许通过执行时间和分配给它的内存来测量运行时性能。
要安装它,请运行以下命令
composer require smilian/perfreporter
发布文件
安装包后,运行以下命令发布文件
php vendor/smilian/perfreporter/publish
通过发布这些文件,已在新创建的“DisplayPerfReportsController.php”控制器中定义了一个新的路由,URL为:"/perf-reporter"。 在bin/console中已添加一些带有"app"命名空间的命令。请使用以下命令检查它们:
bin/console --short
取消发布文件
如果您想删除与包对应的文件,也可以使用以下命令进行调试:php vendor/smilian/perfreporter/unpublish
公共方法列表
// Set timezone (default: "Europe/London") PerformancesLogger::setTimezone(string $zone); // Set locale (default: "en") PerformancesLogger::setLocale(string $locale); // Launch chronometer PerformancesLogger::setStart(); // Set Alarm step value in seconds (default: 3) PerformancesLogger::setAlarmStep(int $val); // Set Maximum report files to create/conserve (default: 4) PerformancesLogger::setMax(int $val); // Set report title (default: "Performances and Measurement") PerformancesLogger::setTitle(string $data); // Set app/site owner/customer logo where $data is a absolute path/to/your/image PerformancesLogger::setAppOwnerLogo(string $data); // As breadcrumbs, dispatch this method anywhere you want to get performances PerformancesLogger::setStep(string $data); // Optional, Set some information if needed, that will fill an array like self::$header[$key] = $value; PerformancesLogger::setHeader(string $key, mixed $value); // Render the Report file PerformancesLogger::getResult(); // Delete reports/ folder PerformancesLogger::deleteReports(); // Get the list of all reports (if mode === 'html' return perf-reports template, but if mode === '' as default, will return reports list) PerformancesLogger::getReportList(string $mode = ''); // Get report html content PerformancesLogger::getReport(string $path);
用法
在处理工作的文件中
// ... use Smile\Perfreporter\Performers\PerformancesLogger; // ... $perfs = PerformancesLogger::setTitle(YOUR_CUSTOM_TITLE) ->setTimezone('Europe/Paris') ->setLocale('fr') ->setAppOwnerLogo(PATH_TO_IMAGE) ->setStart(); // Process to check $perfs::setStep(DETAIL_YOU_NEED_TO_FILL); // End of the process $perfs::getResult();
因为Smile\Perfreporter\Performers\PerformancesLogger是一个静态类,您可以在任何处理工作的文件中放置一些setStep(),并在处理结束的文件中使用setRender()。
处理开始的地方
// ... use Smile\Perfreporter\Performers\PerformancesLogger; // ... $perfs = PerformancesLogger::setTitle(YOUR_CUSTOM_TITLE) ->setTimezone('Europe/Paris') ->setLocale('fr') ->setAppOwnerLogo(PATH_TO_IMAGE) ->setStart(); // ...
处理工作的某些文件
// ... use Smile\Perfreporter\Performers\PerformancesLogger; // ... $perfs::setStep(DETAIL_YOU_NEED_TO_FILL); // ...
处理结束的地方
// ... use Smile\Perfreporter\Performers\PerformancesLogger; // ... $perfs::getResult(); // ...