コード例 #1
0
 /**
  * @param \Nette\Application\Application $application
  * @param \Nette\Application\Request $request
  */
 public function __invoke(Application $application, Request $request)
 {
     if (PHP_SAPI === 'cli') {
         newrelic_background_job(TRUE);
     }
     $params = $request->getParameters();
     $action = $request->getPresenterName();
     if (isset($params[$this->actionKey])) {
         $action = sprintf('%s:%s', $action, $params[$this->actionKey]);
     }
     if (!empty($this->map)) {
         foreach ($this->map as $pattern => $appName) {
             if ($pattern === '*') {
                 continue;
             }
             if (Strings::endsWith($pattern, '*')) {
                 $pattern = Strings::substring($pattern, 0, -1);
             }
             if (Strings::startsWith($pattern, ':')) {
                 $pattern = Strings::substring($pattern, 1);
             }
             if (Strings::startsWith($action, $pattern)) {
                 \VrtakCZ\NewRelic\Tracy\Bootstrap::setup($appName, $this->license);
                 break;
             }
         }
     }
     newrelic_name_transaction($action);
     newrelic_disable_autorum();
 }
コード例 #2
0
ファイル: Extension.php プロジェクト: vrtak-cz/newrelic-nette
 public function loadConfiguration()
 {
     $config = $this->getConfig();
     if ($this->skipIfIsDisabled && (!extension_loaded('newrelic') || !Bootstrap::isEnabled())) {
         $this->enabled = FALSE;
     }
     if (isset($config['enabled']) && !$config['enabled']) {
         $this->enabled = FALSE;
     }
     $this->setupRUM();
     if (!$this->enabled) {
         return;
     }
     if (!extension_loaded('newrelic')) {
         throw new \RuntimeException('NewRelic extension is not loaded');
     } elseif (!Bootstrap::isEnabled()) {
         throw new \RuntimeException('NewRelic is not enabled');
     }
     $this->setupApplicationOnRequest();
     $this->setupApplicationOnError();
 }
コード例 #3
0
ファイル: Tracers.php プロジェクト: vrtak-cz/newrelic-tracy
 /**
  * @param string $function functionName / ClassName::functionName
  */
 public static function addTracer($function)
 {
     if (\VrtakCZ\NewRelic\Tracy\Bootstrap::isEnabled()) {
         newrelic_add_custom_tracer($function);
     }
 }
コード例 #4
0
 /**
  * @param string $name
  * @param mixed $value
  */
 public static function addParameter($name, $value)
 {
     if (\VrtakCZ\NewRelic\Tracy\Bootstrap::isEnabled()) {
         newrelic_add_custom_parameter($name, $value);
     }
 }
コード例 #5
0
ファイル: Metrics.php プロジェクト: vrtak-cz/newrelic-tracy
 /**
  * @param string $name
  * @param float $value miliseconds
  */
 public static function addMetric($name, $value)
 {
     if (\VrtakCZ\NewRelic\Tracy\Bootstrap::isEnabled()) {
         newrelic_custom_metric('Custom/' . $name, $value);
     }
 }