NewRelic Nette – jak zprovoznit

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
motorcb
Člen | 552
+
0
-

Zdravím,

snažím se zprovoznit NewRelic Nette
Jedu na poslední verzi Nette (2.2.7).

Nainstaloval jsem přes composer. To by mělo být OK.

config.neon:

parameters:
    database:
        driver: mysql
        host: localhost
        dbname: xxx
        user: xxx
        password: 'xxx'

php:
    date.timezone: Europe/Prague
    # zlib.output_compression: yes

nette:
    application:
        errorPresenter: Error
        mapping:
            *: App\*Module\Presenters\*Presenter

    database:
        dsn: '%database.driver%:host=%database.host%;dbname=%database.dbname%'
        user: %database.user%
        password: %database.password%

extensions:
    newrelic: VrtakCZ\NewRelic\Nette\Extension

newrelic:
    enabled: Yes #default
    ratio: 1
    appName: 'mujweb.cz' #optional
    license: yourLicenseCode #optional
    actionKey: action # default - optional - action parameter name
    logLevel: #defaults
        - critical
        - exception
        - error

    # optional options with default values
    rum:
        enabled: auto # other options are Yes/No
        ratio: 1
    transactionTracer:
        enabled: Yes
        detail: 1
        recordSql: obfuscated
        slowSql: Yes
        threshold: apdex_f
        stackTraceThreshold: 500
        explainThreshold: 500
    errorCollector:
        enabled: Yes
        recordDatabaseErrors: Yes
    parameters:
        capture: No
        ignored: []
    customParameters:
        paramName: paramValue

services:
    router: @App\RouterFactory::createRouter
    - App\Model\User

BasePresenter.php

abstract class BasePresenter extends Nette\Application\UI\Presenter
{
    //...
    protected function createComponentNewRelicHeader()
    {
        $control = $this->context->getService('newrelic.rum')->headerControl;
        $control->disableScriptTag(); // optionall
        return $control;
    }

    protected function createComponentNewRelicFooter()
    {
        $control = $this->context->getService('newrelic.rum')->footerControl;
        $control->disableScriptTag(); // optionall
        return $control;
    }
}

@layout.latte:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="robots" content="{$robots}" n:ifset="$robots">

        <title>{block title|striptags}</title>

        {control newRelicHeader}
    </head>

        ...

        {control newRelicFooter}
    </body>
</html>

Po spuštění padá aplikace na této hlášce:
Nette\DI\MissingServiceException
Service ‚newrelic.rum‘ not found.

  1. Co dělám špatně?
  2. Co vyplním do license a actionKey popřípadě kde to zjistím?
  3. Jak se liší NewRelic Nette a NewRelic Tracy?

Editoval motorcb (30. 1. 2015 15:56)