パフォーマンス監視サービスの New Relic 使ってますか? 便利ですよね。
しかしながら、残念なことにPHPのMVCフレームワークのPhalconには標準対応しておりません。そこで、dispatcherの設定をいじって対応する方法をまとめておきます。
設定方法
public/index.php
(MultiModuleの場合はMudule.php
)のdispatcherを設定している箇所を以下のように書き換えます。
public/index.php
// Registering a dispatcher
$di->set('dispatcher', function () {
$dispatcher = new \Phalcon\Mvc\Dispatcher();
$dispatcher->setDefaultNamespace('Your\NameSpace');
if (extension_loaded('newrelic')) {
$manager = new \Phalcon\Events\Manager();
$manager->attach('dispatch', function ($event, $dispatcher) {
$controller = $dispatcher->getControllerName();
$action = $dispatcher->getActionName();
newrelic_name_transaction($controller . '/' . $action);
});
$dispatcher->setEventsManager($manager);
}
return $dispatcher;
});
参考URL