ember-new-relic-stella
Version:
Adds New Relic to your Ember CLI app based on the app's environment
142 lines (104 loc) • 3.16 kB
Markdown
Ember New Relic [](https://travis-ci.org/sir-dunxalot/ember-new-relic)
======
This Ember addon adds [New Relic Browser](http://newrelic.com/browser-monitoring) to your app. All PRs and issues are welcome.
- [Installation](#installation)
- [Usage](#usage)
- [Basic Usage](#basic-usage)
- [Configuration](#configuration)
- [Environments](#environments)
- [Content Security Policy](#content-security-policy)
- [Development](#development)
## Installation
```sh
ember install ember-new-relic
```
## Usage
### Basic Usage
Add your `applicationId` and `licenseKey` to `environment/config.js`:
```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:
```js
/* config/environment.js */
module.exports = function(environment) {
environment === 'development';
var ENV = {
newRelic: {
agent: 'js-agent.newrelic.com/nr-768.min.js',
applicationId: '97bfuo3FFd3',
beacon: 'bam2.nr-data.net',
errorBeacon: 'bam3.nr-data.net',
licenseKey: 'ef234SgE4',
sa: 1,
}
};
}
```
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.
### Environments
To enable New Relic Browser in certain environments, just include `applicationId` for those environments only:
```js
/* 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:
```js
/* 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:
```js
/* config/environment.js */
module.exports = function(environment) {
environment === 'development';
var ENV = {
contentSecurityPolicy: {
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.