Notes
Added ability to mark errors as expected when using
newrelic.noticeError, by adding an optional boolean:newrelic.noticeError(error, {customAttributes}, true|false)when there are custom error attributes.newrelic.noticeError(error, true|false)if there are no custom error attributes.expectederrors do not affect error metrics or Apdex.
Added ability to disable distributed tracing for aws-sdk 3.290.0 and higher.
Updated README header image to latest OSS office required images
Updated @grpc/grpc-js from 1.8.8 to 1.8.9
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
- This version of the agent was not available, and has been deprecated. The NPM release pipeline did not run successfully. New Relic recommends installing Node agent v9.12.1 instead.
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 instrumentation for Prisma(
@prisma/client).- Miniumum supported version of
@prisma/clientis 4.0.0. - Captures spans for queries.
- It names them based on the model and action.(i.e. Datastore/statement/Prisma/user/create)
- For statements and queries using the
$queryRaw,$executeRaw,$queryRawUnsafe, and$executeRawUnsafethe names will be aligned with the raw SQL.(i.e. Datastore/statement/Prisma/User/select)
- Captures database metrics for all statements and queries.
- Captures SQL Traces.
- Provides connection between application and database server via service maps.
- Miniumum supported version of
Huge shoutout to @osmanmrtacar for the original contribution
- Updated
@grpc/protoloaderfrom 0.7.4 to 0.7.5. - Updated
@grpc/grpc-jsfrom 1.8.7 to 1.8.8.
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
- Fix: Replaced
request.abortedwithresponse.closein HTTP instrumentation. - Fixed issue where setting
NEW_RELIC_GRPC_IGNORE_STATUS_CODESwasn't properly parsing the codes as integers, thus not ignoring reporting errors of certain status codes. - Upgraded
@grpc/grpc-jsfrom 1.8.4 to 1.8.7.
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 error with Lambda/ALB serverless instrumentation when no response headers were included
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
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'
pathwill be obfuscated - Transaction's
request.urlattribute will be obfuscated - Span's
http.uripath will be obfuscated
- Incoming and outgoing requests'
- For transactions, this means that:
- Transaction trace details
urlwill be obfuscated
- Transaction trace details
- With the following example configuration, URL obfuscation will turn
/api/v1/users/12345456/editto/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-bigintto avoid loss of precision from numerical instance ID.Instrumented
winston.loggers.addso 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
getBrowserTimingHeaderto allow the browser agent to be generated even when not in a transaction by addingallowTransactionlessInjectionto function options.allowTransactionlessInjectionis 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.