chocofamilyme / profiler
Библиотека для профилирования
Installs: 17 777
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- php: >= 7.0.0
- ext-phalcon: >= 3.0.0
- chocofamilyme/pathcorrelation: 0.2.*
This package is auto-updated.
Last update: 2024-10-29 05:16:40 UTC
README
Библиотека для профилирования запросов. Может отправлять данные профилирования на сервер pinba или в файл.
Инициализация
В конфиг файле нужно прописать настройки профайлера:
return [ 'driver' => env('PROFILER_DRIVER', 'pinba'), ];
Добавить его в DI контейнер:
$di = \Phalcon\Di::getDefault(); $di->setShared('profiler', function () use ($di) { $configProfiler = new Config([ 'hostName' => 'prod1', 'serverName' => 'test.com' ]); return new Chocofamily\Profiler\Pinba($configProfiler); });
Один раз в начале запуска приложения указать скрипт:
$url = $application->router->getMatchedRoute()->getPattern(); $method = $application->request->getMethod(); $application->getDI()->get('profiler')->script($method.': '.$url);
Теперь в нужном месте можно отправлять данные для профилирования в Pinba:
$profiler = \Phalcon\Di::getDefault()->get('profiler'); $timer = $this->profiler->start('DB', '', 'SELECT', 'Oauth permission check'); // Какая-та логика приложения $profiler->stop($timer);