Notes
This release has been unpublished from npmjs.org. Use v1.21.1 or higher instead.
Support for display host names.
The agent now has configuration settings to allow configuration of custom host names. Set
process_host.display_name
to enable this.If this config is not set, the agent will continue to use the host name found through an
os.hostname()
call. Should this lookup fail somehow,process_host.ipv_preference
can now be set to4
or6
to configure the type of ip address displayed in place of the host name.
Notes
Fixed a bug where custom events weren't being sent.
In a refactor of our data collection cycle, we omited the custom events from the list of commands, this is now fixed.
Fixed a very rare bug where the custom event pool could be set to 10 instead of the user config value. This patch was contributed by shezarkhani, thanks!
This case would only be hit if you disabled custom events via server sent config while there were custom events ready to be sent. Then you later reenabled it via server sent config. It would only occur for one data collection cycle then reset back to the correct size.
Notes
Fixed a bug in custom event recording limits.
Previously, the agent would use the config value for max events (default of 1000) for the first harvest of custom events, then would use an internal default for the reservoir with max of 10 events for each harvest after that, resulting in less than the expected number of events being sent.
Exposed the
custom_insights_events
settings in the user config.You can now set
custom_insights_events.enabled
andcustom_insights_events.max_samples_stored
in yournewrelic.js
.Read more about these settings in our documentation.
Notes
Triaged a defect in native promise instrumentation
Transactions used to be lost acrossed chained
.then
calls. The way promises are wrapped has been changed to fix this issue.Added support for Slow Queries
Slow Query information will now appear in the UI for Node agent users. This feature allows you to see a trace for slow datastore queries. Read more about this feature in our documentation
Notes
Fixed an issue with Error tracing
Previously the agent could sometimes cause issues with user serialization of error Âobjects after they passed through the error tracing code.
MongoDB cursor count method is now instrumented
The
count
method on MongoDB cursors is now instrumented. Previously, count would not be included in transaction traces.Fixed a typo in NEWS.md
Previously the release notes for v1.19.1 were included as notes for 1.19.0. This has now fixed thanks to @bruun
Notes
Fixed a bug in native ES6 Promise instrumentation.
Previously the Promise instrumentation would cause
instanceof Promise
to return false even if the object was a promise. This also caused an incompatibility with async-listener.instanceof
checks will now work on both the wrapped and unwrapped Promise object.
Features
Filesystem interactions are now recorded in metrics
The time spent in filesystem functions during a transaction will now be displayed in the transaction overview page per operation.
Bugfixes
Fixed a bug with error handling.
Previously the agent could crash applications in certain situations where
null
was thrown rather than anError
object.
Bug fixes
Fixed a bug in environment variable based configuration.
Previously the agent would parse the
NEW_RELIC_APDEX
environment variable as a string rather than a float this could cause data to be sent to New Relic servers in an invalid format, preventing the data from being collected.Fixed a bug with the error collector's handling of ignored status codes.
Previously the agent would not properly ignore status codes if the status code was set using a string rather than a number.
Fixed a bug in mysql instrumentation.
Previously the mysql instrumentation could cause errors when making mysql queries using an options object rather than a SQL string. The agent now handles arguments to the query method in a more robust way.
Notes
Fixed an inverted
if
in config loading.Previously, the config loader would log a warning on success, rather than failure. Configuration loading works as expected now.
Fixed a bug in
process.nextTick
instrumentation for io.js 1.8.1.Previously the agent would only pass the callback argument to
process.nextTick
. This did not cause issues in Node.js and older version of io.js, since additional arguments were ignored. In a recent change to io.js,process.nextTick
was changed to pass any additional arguments to the callback, the same waysetImmediate
does. This change ensures all arguments are handled as expected.
Notes
Wrapped all our calls to
JSON.parse
in try/catch.Previously, only calls that were considered unsafe due to external data input were wrapped. We are taking a more defensive stance and wrapping them all now.
Timers attached to
global
are now instrumented correctly in all version of io.js.As of v1.6.3 of io.js, timers are no longer lazily loaded from the timers module, and are placed directly on the global object. The agent now takes this change into account and accurately wraps the timer methods.
Improved handling of cross-application tracing headers.
Paths that include multibyte characters will now show up correctly in cross application maps