# NewRelic PHP agent integration for Nette Framework

Build Status Latest Stable Version Composer Downloads

# Versions

State Version Branch Nette PHP
stable ^8.0 master ^3.0 >=7.1
stable ^7.0 master ^2.4 >=5.6

# Installation

composer require contributte\newrelic
1

edit app/config/config.neon

extensions:
    newrelic: Contributte\NewRelic\DI\NewRelicExtension
1
2

# Config

newrelic:
    enabled: Yes #default
    appName: YourApplicationName #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
    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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

# Realtime User Monitoring

add this component factory to your base presenter

/**
 * @var \Contributte\NewRelic\RUM\HeaderControl
 * @inject
 */
protected $headerControl;

/**
 * @var \Contributte\NewRelic\RUM\FooterControl
 * @inject
 */
protected $footerControl;

protected function createComponentNewRelicHeader()
{
    $this->headerControl->disableScriptTag(); // optional
    return $this->headerControl;
}

protected function createComponentNewRelicFooter()
{
    $this->footerControl->disableScriptTag(); // optional
    return $this->footerControl;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

and add this to your @layout header (before </head>)

{control newRelicHeader}
1

and add this to your @layout footer (before </body>)

{control newRelicFooter}
1

# Tracy

$logLevel = [ // default (NULL means default)
    \Tracy\Logger::CRITICAL,
    \Tracy\Logger::EXCEPTION,
    \Tracy\Logger::ERROR,
];
$appName = 'PHP Application'; // default (NULL means default)
$license = 'your_licence_key';

\Contributte\NewRelic\Tracy\Bootstrap::init($logLevel, $appName, $license); // all parameters are optional
1
2
3
4
5
6
7
8
9

# License

NewRelic Nette extension is licensed under the MIT License - see the LICENSE file for details