What is newrelic?
The New Relic npm package is a powerful tool for monitoring and managing the performance of your Node.js applications. It provides insights into application performance, error tracking, and user interactions, helping developers to optimize and troubleshoot their applications effectively.
What are newrelic's main functionalities?
Application Performance Monitoring (APM)
New Relic APM provides detailed insights into the performance of your application, including response times, throughput, and error rates. By simply requiring the New Relic module at the start of your application, it will automatically start monitoring your app's performance.
const newrelic = require('newrelic');
// Your application code here
// New Relic will automatically monitor your app's performance
Custom Instrumentation
Custom instrumentation allows you to monitor specific parts of your application that are not automatically tracked by New Relic. By using the `getTransaction` method, you can create custom transactions and measure their performance.
const newrelic = require('newrelic');
function myCustomFunction() {
const transaction = newrelic.getTransaction();
// Your custom code here
transaction.end();
}
myCustomFunction();
Error Tracking
New Relic provides error tracking capabilities that allow you to capture and report errors that occur in your application. By using the `noticeError` method, you can send error details to New Relic for further analysis.
const newrelic = require('newrelic');
try {
// Your code that might throw an error
} catch (error) {
newrelic.noticeError(error);
}
Custom Events
Custom events allow you to send specific events to New Relic for tracking and analysis. By using the `recordCustomEvent` method, you can create and send custom events with associated data.
const newrelic = require('newrelic');
newrelic.recordCustomEvent('MyCustomEvent', {
key1: 'value1',
key2: 'value2'
});
Other packages similar to newrelic
appdynamics
AppDynamics is a comprehensive application performance management (APM) solution that provides real-time monitoring and analytics for applications. It offers similar functionalities to New Relic, including performance monitoring, error tracking, and custom instrumentation. AppDynamics is known for its robust analytics and detailed transaction tracking.
datadog
Datadog is a monitoring and analytics platform for cloud applications. It provides APM, log management, and infrastructure monitoring. Datadog offers similar features to New Relic, such as performance monitoring and error tracking, but it also includes extensive support for infrastructure monitoring and log management, making it a more comprehensive solution for full-stack monitoring.
elastic-apm-node
Elastic APM is part of the Elastic Stack and provides performance monitoring for applications. The `elastic-apm-node` package allows you to monitor Node.js applications with features like transaction tracking, error reporting, and custom instrumentation. It integrates seamlessly with other Elastic Stack components, such as Elasticsearch and Kibana, for powerful data analysis and visualization.
New Relic Node.js agent
Make sure you have a New Relic account before starting. Until the end of the
beta, you'll want to have access to Pro features like slow transaction traces.
Contact your New Relic representative to see about getting a trial upgrade for
the purposes of testing.
Getting started
- Install node. For now, at least 0.6 is
required. Some features (e.g. error tracing) depend in whole or in part on
features in 0.8 and above. Development work is being done against the latest
released version.
- Install this module via
npm install newrelic
for the application you
want to monitor. - Copy
newrelic.js
from node_modules/newrelic
into the root directory of
your application. - Edit
newrelic.js
and replace license_key
's value with the license key
for your account. - Add
require('newrelic');
as the first line of the app's main module.
IMPORTANT: formerly this was require('newrelic_agent')
, and you MUST
update your code.
When you start your app, the agent should start up with it and start reporting
data that will appear within our UI after a few minutes. Because the agent
minimizes the amount of bandwidth it consumes, it only reports metrics, errors
and transaction traces once a minute, so if you add the agent to tests that run
in under a minute, the agent won't have time to report data to New Relic. The
agent will write its log to a file named newrelic_agent.log
in the
application directory. If the agent doesn't send data or crashes your app, the
log can help New Relic determine what went wrong, so be sure to send it along
with any bug reports or support requests.
Running tests
The agent's unit tests use mocha. Its
integration tests use node-tap. If you
want to run them yourself, they can be run via npm test
, except on Windows.
Work on a Windows solution is forthcoming.
If you encounter any test failures, please contact New Relic support or the
beta list, and be sure to include whatever information you can about how you're
running Node and what the test suite returned.
Recent changes
Information about changes to the agent are in NEWS.md.
Known issues & remaining work
Information about what's known to be broken and what's being worked on
soon is in TODO.md.
LICENSE
The New Relic Node.js agent is free-to-use, proprietary software. Please see
the full license (found in LICENSE in this distribution) for details.