Skip to content

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

License

Notifications You must be signed in to change notification settings

GabKlein/ember-new-relic

 
 

Repository files navigation

Ember New Relic Build Status npm

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

Installation

ember install ember-new-relic

Usage

Basic Usage

Add your applicationId and licenseKey to environment/config.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-892.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 include applicationId 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';
  }
}

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' 'unsafe-inline' 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.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 84.7%
  • HTML 15.3%