smilian/perfreporter

测量Symfony项目的PHP代码性能。处理测量、响应时间、文件位置...

dev-main 2022-03-21 14:46 UTC

This package is auto-updated.

Last update: 2024-09-21 20:43:50 UTC


README

PHP Composer

Perf-Reporter是一个针对Symfony 5及更高版本的项目,允许通过执行时间和分配给它的内存来测量运行时性能。

要安装它,请运行以下命令

composer require smilian/perfreporter

发布文件

安装包后,运行以下命令发布文件

php vendor/smilian/perfreporter/publish

通过发布这些文件,已在新创建的“DisplayPerfReportsController.php”控制器中定义了一个新的路由,URL为:"/perf-reporter"。 screenshot1 在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();
// ...