simplabs/ember-new-relic

Name: ember-new-relic

Owner: simplabs

Description: Adds New Relic to your Ember CLI app based on the app's environment

Forked from: sir-dunxalot/ember-new-relic

Created: 2017-08-02 13:57:18.0

Updated: 2017-08-02 13:57:20.0

Pushed: 2017-08-02 13:57:54.0

Homepage:

Size: 70

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Ember New Relic Build Status npm

This Ember addon adds New Relic Browser to your app. All PRs and issues are welcome.

Installation
r install ember-new-relic
Usage
Basic Usage

Add your applicationId and licenseKey to config/environment.js:

onfig/environment.js */

le.exports = function(environment) {
vironment === 'development';

r ENV = {
newRelic: {
  applicationId: '97bfuo3FFd3',
  licenseKey: 'ef234SgE4'
}


Configuration

You might also want to specify your agent, beacon, or other properties:

onfig/environment.js */

le.exports = function(environment) {
vironment === 'development';

r 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:

onfig/environment.js */

le.exports = function(environment) {
vironment === 'development';

r 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 include applicationId for those environments only:

onfig/environment.js */

le.exports = function(environment) {
vironment === 'development';

r ENV = {
newRelic: {
  licenseKey: 'ef234SgE4'
}


 (environment !== test) {
ENV.newRelic.applicationId = '97bfuo3FFd3';


You can also use different application IDs for different environments:

onfig/environment.js */

le.exports = function(environment) {
vironment === 'development';

r ENV = {
newRelic: {
  licenseKey: 'ef234SgE4'
}


 (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 into vendor.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:

mber-cli-build.js */
le.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:

ipt src="new-relic.js"></script>
ipt src="assets/vendor.js"></script>
Change the Script Path

The New Relic code's default output path is new-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:

mber-cli-build.js */
le.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:

onfig/environment.js */

le.exports = function(environment) {
vironment === 'development';

r 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 using ember test or by navigating to the /tests route in the browser.

Please accompany PRs for bugs and new functionality with test coverage.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.