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);