herloct / slim-newrelic
Slim 框架的新 Relic 仪表工具
dev-master
2017-03-01 09:27 UTC
Requires
- php: ^5.6 || ^7.0
- sobanvuex/php-newrelic: ^2.0
Requires (Dev)
- phpunit/phpunit: ^5.7
- slim/slim: ^3.7
This package is not auto-updated.
Last update: 2024-09-15 02:19:27 UTC
README
此库为 Slim 框架提供新 Relic 仪表功能。安装此库后,将确保您的交易正确命名,并且您的异常在 New Relic 中正确记录。
参考 @nordsoftware 的 nordsoftware/lumen-newrelic。
许可证
请参阅 LICENSE
要求
使用方法
安装
运行以下命令通过 Composer 安装包
composer require herloct/slim-newrelic
引导
示例 index.php
。
$config = [ 'settings' => [ 'displayErrorDetails' => true, // These two are needed so new relic agent could work 'addContentLengthHeader' => false, 'determineRouteBeforeAppMiddleware' => true ], 'errorHandler' => function ($c) { $agent = $c->get(\SobanVuex\NewRelic\Agent::class); $errorHandler = new \Slim\Handlers\Error($c->get('settings')['displayErrorDetails']); return new \Herloct\Slim\Handlers\NewRelicError($agent, $errorHandler); }, \SobanVuex\NewRelic\Agent::class => function ($c) { $agent = new \SobanVuex\NewRelic\Agent( 'Your Application Name', 'YOUR_NEW_RELIC_LICENSE_KEY' ); return $agent; }, \Herloct\Slim\NewRelicTransactionMiddleware::class => function ($c) { $agent = $c->get(\SobanVuex\NewRelic\Agent::class); return new \Herloct\Slim\NewRelicTransactionMiddleware($agent); } ]; $app = new \Slim\App($config); $app->add(\Herloct\Slim\NewRelicTransactionMiddleware::class); $app->get('/hello/{name}', function ($request, $response, $args) { return $response->write("Hello " . $args['name']); })->setName('say_hello'); $app->run();
自定义交易名称
默认情况下,交易名称将使用路由的名称。如果失败,则使用路由的模式。
如果这不符合您的需求,请扩展 Herloct\Slim\NewRelicTransactionMiddleware
类并重写 getTransactionName()
方法,然后注册该中间件类。
运行测试
克隆项目并运行以下命令安装其依赖项
composer install
运行以下命令运行测试套件
vendor/bin/phpunit