chocofamilyme/profiler

Библиотека для профилирования

2.0.2 2019-09-02 05:41 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);