This Ember addon adds New Relic Browser to your app. All PRs and issues are welcome.
- Basic Usage - Configuration
Value and descriptions for all of the above can be found in your New Relic Browser's application settings.
It is likely you will only have to set
If you want to use New Relic SPA Monitoring, you must enable
This will replace the default New Relic code snippet with the New Relic SPA code snippet.
You can also use different application IDs for different environments:
If you want to manually import the snippet from an external JS file, configure
Prepare your
If you want to change the output path, configure
When used in conjunction with
Please accompany PRs for bugs and new functionality with test coverage.
- Basic Usage - Configuration
- [SPA Monitoring](#spa-monitoring)
- EnvironmentsInstallation
ember install ember-new-relic
Usage
Basic Usage
Add yourapplicationId
and licenseKey
to config/environment.js
:/* config/environment.js */
module.exports = function(environment) {
environment === 'development';
var ENV = {
newRelic: {
applicationId: '97bfuo3FFd3',
licenseKey: 'ef234SgE4'
}
};
}
Configuration
You might also want to specify your agent, beacon, or other properties:/* config/environment.js */
module.exports = function(environment) {
environment === 'development';
var ENV = {
newRelic: {
agent: 'js-agent.newrelic.com/nr-1016.min.js',
applicationId: '97bfuo3FFd3',
beacon: 'bam.nr-data.net',
errorBeacon: 'bam.nr-data.net',
licenseKey: 'ef234SgE4',
spaMonitoring: true,
sa: 1,
}
};
}
Value and descriptions for all of the above can be found in your New Relic Browser's application settings.
It is likely you will only have to set
applicationId
, licenseKey
, and agent
to match your New Relic code snippet.SPA Monitoring
New Relic released SPA Monitoring on July 12th 2016. By default, this addon does not use SPA Monitoring.If you want to use New Relic SPA Monitoring, you must enable
spaMonitoring
in your configuration as follows:/* config/environment.js */
module.exports = function(environment) {
environment === 'development';
var ENV = {
newRelic: {
spaMonitoring: true,
}
};
}
This will replace the default New Relic code snippet with the New Relic SPA code snippet.
Environments
To enable New Relic Browser in certain environments, just includeapplicationId
for those environments only:/* config/environment.js */
module.exports = function(environment) {
environment === 'development';
var ENV = {
newRelic: {
licenseKey: 'ef234SgE4'
}
};
if (environment !== test) {
ENV.newRelic.applicationId = '97bfuo3FFd3';
}
}
You can also use different application IDs for different environments:
/* config/environment.js */
module.exports = function(environment) {
environment === 'development';
var ENV = {
newRelic: {
licenseKey: 'ef234SgE4'
}
};
if (environment === 'development') {
ENV.newRelic.applicationId = '97bfuo3FFd3';
} else if (environment === 'production') {
ENV.newRelic.applicationId = 'f99FJ930sp';
}
}
Manual Script Loading
By default the New Relic code snippet is imported intovendor.js
.If you want to manually import the snippet from an external JS file, configure
ember-cli-build.js
with ember-new-relic
options as follows:/* ember-cli-build.js */
module.exports = function(defaults) {
var app = new EmberApp(defaults, {
'ember-new-relic': {
importToVendor: false
}
});
return app.toTree();
};
Prepare your
app/index.html
with the New Relic script, placed above the vendor.js
script as follows:<script src="new-relic.js"></script>
<script src="assets/vendor.js"></script>
Change the Script Path
The New Relic code's default output path isnew-relic.js
, accessible at the root of the output folder.If you want to change the output path, configure
ember-cli-build.js
with ember-new-relic
options as follows:/* ember-cli-build.js */
module.exports = function(defaults) {
var app = new EmberApp(defaults, {
'ember-new-relic': {
outputPath: 'assets/new-relic.js'
}
});
return app.toTree();
};
When used in conjunction with
importToVendor
disabled, remember to update the path in app/index.html
.Content Security Policy
To avoid browser errors, add the following to your CSP:/* config/environment.js */
module.exports = function(environment) {
environment === 'development';
var ENV = {
newRelic: {
licenseKey: 'ef234SgE4',
applicationId: '97bfuo3FFd3',
},
contentSecurityPolicy: {
'connect-src': "'self' https://*.nr-data.net",
'img-src': "'self' https://*.nr-data.net",
'script-src': "'self' http://*.newrelic.com https://*.nr-data.net http://*.nr-data.net",
},
};
}
Development
Run the tests usingember test
or by navigating to the /tests
route in the browser.Please accompany PRs for bugs and new functionality with test coverage.