Notes
This release is the same as v1.37.1 except it has been re-published to npm due to an issue with shrinkwrapping the previously published package.
New features
The agent now reports event loop metrics on supported platforms.
The agent will now record the number of event loop ticks per minute and CPU time spent in each tick. This feature requires v2.1.0 or higher of the optional
@newrelic/native-metrics
module, and is supported on Node versions 0.12, 4, 6, and 7.
You can read more about it on our docs site!
Bug fixes
- The agent no longer creates a segment for each row returned from a PG query when the pg-query-stream module is used.
- Internal properties used in our promise instrumentation are now non-enumerable to prevent unexpected keys showing up for clients.
- Agent now uses safe stringification when encoding payloads in order to prevent an issue with circular references.
- Fixed issue with the agent holding the process open when retrying to connect to the collector.
Improvements
- Removed io.js from our test suite, since it has not been supported for some time.
- Quieted a log message warning users about their own settings.
- Fixed typo in a log message. Thanks to Dave Bobak (@davebobak) for the contribution.
Bug fixes
Fixed issue with timing Redis operations when called without a callback.
Previously these operations would continue to be timed until the transaction ended, and as a result reported incorrect times.
Transactions that result in a 404 HTTP error are now named "(not found)".
Previously these transactions were reported with no name (e.g. get /).
When the newrelic.js configuration file is not present, the agent now logs a message to the console and no longer prevents the app from starting up.
Improvements
Rewrote the
cassandra-cql
andmemcached
instrumentations using theDatastoreShim
.Improved instrumentation matching.
Previously, the agent would determine which instrumentation would run for a given module being loaded using the basename of the file path. This lead to false positives (e.g.
myapp/lib/express.js
would trigger the express instrumentation) which we previously just ignored. Matches are now determined using the string passed torequire
. This means you can now match local relative paths (./lib/something
) as well as package-relative paths (amqplib/callback_api
).
Bug fixes
Stop collecting URL parameters from the HTTP referer header
The Node agent collects the request headers during an error trace to help determine the root cause of problems. The referer header is the URI that identifies the address of the webpage that linked to the resource being requested. It is possible that the referer URI may contain sensitive information in the request query parameters. New Relic has found that the query parameters are not properly stripped during the error trace. This update fixes this by stripping the query parameters from the referer in the request header before sending this data to New Relic.
This release fixes New Relic Security Bulletin NR17-01.
Improvements
- Improved logging of modules that did not get instrumented.
Improvements
- Incorporated fixes from 1.36.1
New features
The
@newrelic/native-metrics
module is now an optional dependency of the agent.Now npm will attempt to install the module when the agent is installed. If it fails for whatever reason, the agent itself will still be installed correctly and the rest of the npm install will finish normally.
Improvements
- Incorporated new features and fixes from 1.34.0, 1.35.1, and 1.36.0
New Features
Added CPU metric gathering to Node.js versions <6.1
As of this release the agent will attempt to gather CPU usage metrics via the optional
@newrelic/native-metrics
module.Added additional memory usage classification metrics.
The agent will now report memory metrics that break down memory by its current use.
For more information on these features, see our documentation.
Bug fixes
Removed automatic installation of
@newrelic/native-metrics
.Due to the way npm v3+ flatten dependencies, a bug in the version of npm packaged with Node v5, and npm v1's ungraceful handling of scoped packages we have opted to not automatically install this module.
If you would like to see native metrics for your application, you can add the
@newrelic/native-metrics
module to yourpackage.json
and the Node Agent will automatically pick it up.Corrected attribution of the Bluebird patch in the last release's notes.
Thanks to Matt Lavin (@mdlavin) for this correction!
Notes
Important
This release has been unpublished from npmjs.org. Please use version 1.35.1 or higher.
New features
The agent will now report garbage collection statistics on supported platforms.
On node versions 0.10, 0.12, 4, 6, and 7 the agent will now record the time spent in, the number of, and type of garbage collection cycles. You can read more about it on our docs site!
Bug fixes
The agent no longer double counts MySQL query times when using a connection pool.
Previously, when using a pool of connections a query done through the pool would be recorded as the time it took on the pool, as well as the connection, effectively counting the time twice. This is no longer the case.
The agent will no longer lose transaction state across Bluebird's
promise.nodify
.Thanks to Matt Lavin (@mdlavin) for this contribution!