NewRelic module provide an object-oriented PHP wrapper for New Relic monitoring service.
NewRelic module provide a logger and a wrapper for New Relic PHP API.
The current route is used to set the name of each transaction. Moreover, the module allow exceptions logging if enabled.
return array(
'newrelic' => array(
// Sets the newrelic app name. Note that this will discard metrics
// collected before the name is set. If empty then your php.ini
// configuration will take precedence.
'application_name' => null,
// May be null and will only be set if application name is also given.
'license' => null,
// If false then neither change the auto_instrument or manually
// instrument the real user monitoring.
'browser_timing_enabled' => false,
// When true tell the newrelic extension to insert Real User Monitoring
// scripts automatically.
'browser_timing_auto_instrument' => true,
// When true, a logger with the newrelic writer will be called for
// dispatch error events.
'exceptions_logging_enabled' => false,
// Defines ignored transactions
'ignored_transactions' => array(),
// Defines background job transactions
'background_jobs' => array(),
),
);
NewRelic API allows to ignore some transactions. This configuration defines some routes and controllers of transactions that will be ignored.
return array(
'newrelic' => array(
'ignored_transations' => array(
'routes' => array(
'admin*',
'user/login',
),
),
),
);
Those rules ignore all admin routes and the "user/login" route.
return array(
'newrelic' => array(
'ignored_transations' => array(
'controllers' => array(
'FooController',
'BarController',
'BazController',
),
),
),
);
You can also ignore some actions of specified controllers :
return array(
'newrelic' => array(
'ignored_transations' => array(
'controllers' => array(
array('FooController', array('foo', 'bar')),
array('BarController', array('baz')),
),
),
),
);
You can ignore a transaction manually by calling ignoreTransaction()
method of NewRelic client.
$client = $this->getServiceLocator()->get('NewRelic\Client');
$client->ignoreTransaction();
The configuration of background jobs is identical to ignored transactions but use the key background_jobs
as below.
return array(
'newrelic' => array(
'background_jobs' => array(),
),
);
You can define a transaction as background job by calling backgroundJob()
method of NewRelic client.
$client = $this->getServiceLocator()->get('NewRelic\Client');
$client->backgroundJob(true);
$client = $this->getServiceLocator()->get('NewRelic\Client');
$client->addCustomMetric('salesprice', $price);