Notes
Exposed a method on API to obfuscate sql:
newrelic.obfuscateSql
.Add support for Multi Value Parameters from API Gateway and ALB events for Lambdas.
Support statement:
- New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
Notes
Added support for URL obfuscation using regex (Thanks for your contribution @matewilk)
- For Distributed Tracing, this means that:
- Incoming and outgoing requests'
path
will be obfuscated - Transaction's
request.url
attribute will be obfuscated - Span's
http.uri
path will be obfuscated
- Incoming and outgoing requests'
- For transactions, this means that:
- Transaction trace details
url
will be obfuscated
- Transaction trace details
- With the following example configuration, URL obfuscation will turn
/api/v1/users/12345456/edit
to/api/v1/users/**/edit
.url_obfuscation: {enabled: true,regex: {pattern: /(\/api\/v1\/users\/)([\d]+)(\/.*$)/,flags: "i",replacement: '$1**$3'}} - You can also use environment variables to configure URL obfuscation:NEW_RELIC_URL_OBFUSCATION_ENABLED: "true",NEW_RELIC_URL_OBFUSCATION_REGEX_PATTERN: '/(\/api\/v1\/users\/)([\d]+)(\/.*$)/',NEW_RELIC_URL_OBFUSCATION_REGEX_FLAGS: 'i',NEW_RELIC_URL_OBFUSCATION_REGEX_REPLACEMENT: '$1**$3'
- For Distributed Tracing, this means that:
Add a new tracking type of instrumentation. This will be responsible for logging
Supportability/Features/Instrumentation/OnResolved/<pkg>
andSupportability/Features/Instrumentation/OnResolved/<pkg>/Version/<version>
metrics when packages are required.
Support statement:
- New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
Notes
Changed GCP metadata parsing to use
json-bigint
to avoid loss of precision from numerical instance ID.Instrumented
winston.loggers.add
so it works likewinston.createLogger
.
Support statement:
- New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
Notes
- Updated
getBrowserTimingHeader
to allow the browser agent to be generated even when not in a transaction by addingallowTransactionlessInjection
to function options.allowTransactionlessInjection
is a boolean option, and when set totrue
, will allow injection of the browser agent when not in a transaction. This is intended to be used in frameworks that build Static Site Generation(SSG). Note that if you're using this option, you may need to wait until the Node agent has established a connection before callinggetBrowserTimingHeader
. To wait until the agent is connected, you can add the following check to your code:
if (!newrelic.agent.collector.isConnected()) { await new Promise((resolve) => { newrelic.agent.on('connected', resolve) })}
Support statement:
- New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
Notes
Added a check to the code level metrics utility to ensure filePath was set before adding the
code.*
attributes.Updated to latest version of
@newrelic/test-utilities
.Fixed issue where listing of dependencies and packages from symlinked nested directories created an infinite loop which caused the agent to never connect.
Support statement:
- New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
Notes
- Fixed system info gathering to prevent unhandled promise rejection when an error occurs reading
/proc
information.
Support statement:
- New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
Notes
- Added support for Code Level Metrics on API methods:
startSegment
,startBackgroundTransaction
, andstartWebTransaction
.
Support statement:
- New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
Notes
- Updated
@grpc/grpc-js
instrumentation to work with 1.8.0.
Support statement:
- New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
Notes
Reintroduced throttling during reading of instrumented application's dependency tree during startup, to prevent EMFILE issues.
Improved Restify support
- Added a new test stanza to run restify >=10 on Node 18.
- Update our versioned tests to support Restify 9.0.0.
Laid foundation for supporting Code Level Metrics via CodeStream. Note that this integration is not fully finished and should not be used.
Improved the readability and maintainability of agent by reducing the Cognitive Complexity of various aspects of the agent.
Added
newrelic.noticeError()
example to our API docs.Upgraded @grpc/grpc-js from 1.6.9 to 1.7.3.
Upgraded @grpc/proto-loader from 0.6.13 to 0.7.3.
Removed async from benchmark tests, fixed failing benchmark suites, and removed deprecated suite.
Support statement:
- New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
Notes
- Added new configuration option,
grpc.ignore_status_codes
, which can be used to select nonzero gRPC status codes to ignore and not report as errors.
Support statement:
- New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.