Notes
Features
- Updated
koainstrumentation to properly wrapRouterwhen using@koa/router@15.0.0+ (#3550) (f1e08ad) - Added ability to configure a ratio based sampler (#3501) (f300bd5)
- To assign a ratio based sampler, set
config.distributed_tracing.sampler.root,config.distributed_tracing.sampler.remote_parent_sampled, orconfig.distributed_tracing.sampler.remote_parent_not_sampledto{ trace_id_ratio_based: { ratio: <float between 0 and 1> }} - To assign via environment variables set
NEW_RELIC_DISTRIBUTED_TRACING_SAMPLER_<TYPE>='trace_id_ratio_based'andNEW_RELIC_DISTRIBUTED_TRACING_SAMPLER_<TYPE>_RATIO=<float between 0 and 1>where<TYPE>is one ofROOT,REMOTE_PARENT_SAMPLED, orREMOTE_PARENT_NOT_SAMPLED
- To assign a ratio based sampler, set
- Updated configuration to allow
adaptive.sampling_targetto be set forconfig.distributed_tracing.sampler.root,config.distributed_tracing.sampler.remote_parent_sampled, andconfig.distributed_tracing.sampler.remote_parent_not_sampled(#3532) (44f51dd) - Added support for OTEL span links (#3528) (e840690)
- Replaced
defaultwithadaptiveas the default for samplers (#3543) (3f03162) - Preliminary support for partial granularity traces (Not available for production use)
- Added
essentialtype for partial granularity traces (#3547) (3d85fb5) - Added
reducedtype for partial granularity traces. (#3540) (cfa8f41) - Added partial granularity samplers and assign transactions with
isPartialTracewhen partial granularity sampling decisions have been made (#3544) (1535a82) - Refactored samplers into classes and store them on
agent.sampler.*(#3527) (ad63441) - Updated
Samplersclass to normalize logger messages, short circuit when applicable and remove optional chaining checks (#3546) (4f7684c) - Updated samplers to assign priority between 0-1 when DT is disabled or both full and partial granularity are disabled (#3559) (7a1c37e)
- Updated transaction to store partial granularity indicator as
.partialType(#3561) (a7f20d8) - Updated when partial granularity rules are applied (#3553) (a4bdf4f)
- Added
toStringandget [Symbol.toStringTag]()to default Sampler class (#3562) (771168d)
- Added
Bug fixes
Documentation
Miscellaneous chores
- Improved logging around
preconnectpayload - Utilization resolution is now done concurrently (#3556) (8386360)
- Collected OTEL instrumentation scope metadata on all OTEL spans. (#3554) (75703c4)
- Improved OTEL hrtime processing (#3557) (8f187b1)
- Renamed config
opentelemetry_bridgetoopentelemetry(#3565) (c9d156f)
Support statement:
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date. (https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/)
See the New Relic Node.js agent EOL policy for information about agent releases and support dates. (https://docs.newrelic.com/docs/apm/agents/nodejs-agent/getting-started/nodejs-agent-eol-policy/)
Notes
Bug fixes
- Updated
app.useorrouter.useExpress instrumentation to properly wrap all middleware defined (#3520) (d3b20d0)
Documentation
Tests
Support statement:
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date. (https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/)
See the New Relic Node.js agent EOL policy for information about agent releases and support dates. (https://docs.newrelic.com/docs/apm/agents/nodejs-agent/getting-started/nodejs-agent-eol-policy/)
Notes
Bug fixes
- Updated express instrumentation to ignore error when the
nexthandler passesrouteorrouter(#3513) (724b218) - Updated MessageConsumerSubscriber to wait for consumer callback to end when it is a promise (#3510) (45667a0)
Documentation
Tests
Support statement:
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date. (https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/)
See the New Relic Node.js agent EOL policy for information about agent releases and support dates. (https://docs.newrelic.com/docs/apm/agents/nodejs-agent/getting-started/nodejs-agent-eol-policy/)
Notes
Bug fixes
- Updated
MessageConsumerSubscriberto end transaction created for a given message consumption (#3503) (ba30818) - Updated
MessageProducerSubscriberto properly set the sampled flag ontraceparent(#3505) (0b1a9a8) - Updated the bedrock middleware to be registered with a
highpriority to ensure payload is properly deserialized (#3500) (63e531b)
Support statement:
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date. (https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/)
See the New Relic Node.js agent EOL policy for information about agent releases and support dates. (https://docs.newrelic.com/docs/apm/agents/nodejs-agent/getting-started/nodejs-agent-eol-policy/)
Notes
Bug fixes
- Updated
@google/genaito properly handle assigning token counts to LlmCompletionSummary message (#3495) (f805d38) - Updated AWS Bedrock instrumentation to properly assign token counts (#3491) (b1687f6)
- Updated openai instrumentation to properly handle streaming when
stream_options.include_usageis set (#3494) (37c43f5)
Code refactoring
Documentation
- Cleaned up README links and outdated verbiage (#3484) (51e6d7a)
- Updated compatibility report (#3477) (859f27f)
Support statement:
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date. (https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/)
See the New Relic Node.js agent EOL policy for information about agent releases and support dates. (https://docs.newrelic.com/docs/apm/agents/nodejs-agent/getting-started/nodejs-agent-eol-policy/)
Notes
Bug fixes
- Updated express instrumentation to properly instrument an array of middleware defined on a route (#3473) (e383c4e)
Documentation
- documented how to use the subscriber based instrumentation (#3432) (3b3ab72)
- Updated compatibility report (#3471) (964543b)
Support statement:
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date. (https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/)
See the New Relic Node.js agent EOL policy for information about agent releases and support dates. (https://docs.newrelic.com/docs/apm/agents/nodejs-agent/getting-started/nodejs-agent-eol-policy/)
Notes
Bug fixes
Documentation
Support statement:
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date. (https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/)
See the New Relic Node.js agent EOL policy for information about agent releases and support dates. (https://docs.newrelic.com/docs/apm/agents/nodejs-agent/getting-started/nodejs-agent-eol-policy/)
Notes
Features
Bug fixes
- Updated
ioredisinstrumentation to handle breakage of errors when using.pipeline. (#3457) (49f4d93) - Updated
openaiinstrumentStreamfunction to handle empty chunk wheninclude_usageis set (#3427) (f804940)
Code refactoring
- Update
expressinstrumentation to subscribe to events emitted (#3424) (bbf3d01) - Updated instances in instrumentation of
Array.forEachfor a more performant for...of or for index loop (#3463) (99484ce) - Updated instances of
Array.forEachfor a more performant for...of or for index loop (#3440) (48c37bf) - Updated token calculation for
aws-bedrockLLM Events (#3445) (9450181) - Updated token calculation for
google-genaiLLM Events (#3431) (41d32be) - Updated token calculation for
openaiLLM Events (#3430) (b8678cc)
Documentation
Miscellaneous chores
Tests
- Added a
randomStringhelper to agent_helper and use it in ioredis to avoid flappy tests, also updated local instances of random strings in kafka, elasticsearch and opensearch tests (#3462) (4deb6d8) - Fixed conflict between ioredis and ioredis-esm by running
flushdbinstead offlushallto avoid index getting removed mid test (#3464) (5e3f0a8) - Fixed express async error test to purposely misspell a method to emit a crash (#3435) (ff9f064)
- Moved aws-sdk-v3 common.js requirement of semver (#3461) (6a380ef)
- Pinned Next.js tests to
<16.0.0(#3446) (10787a1) - Updated minimum tested version of
@langchain/coreto 1.0.0 (#3437) (b61f67a)
Support statement:
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date. (https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/)
See the New Relic Node.js agent EOL policy for information about agent releases and support dates. (https://docs.newrelic.com/docs/apm/agents/nodejs-agent/getting-started/nodejs-agent-eol-policy/)
Notes
Code refactoring
Updated
fastifyinstrumentation to subscribe to events emitted (#3407) (51e361e)Updated
pgandpg-nativeinstrumentation to subscribe to events emitted (#3397) (04af258)Updated
config.instrumentation.timers.enabledto false to disabletimers.setTimeoutandtimers.setIntervalby default. (#3414) (b925d3d)- To re-enable, set
config.instrumentation.timers.enabledtotruein config or setNEW_RELIC_INSTRUMENTATION_TIMERS_ENABLED=true
- To re-enable, set
Documentation
Miscellaneous chores
- Added a new diagnostics base class and migrated undici to use new class (#3408) (8047bf1)
- Created directory for samplers (#3419) (dd2d3df)
Styles
- Require
check-typesandrequire-returns-typejsdoc (#3400) (e4cd687) - Require jsdoc
check*,implements-on-classes, and someno-undefined-types(#3404) (4fa645b) - Require jsdoc
require-returns-checkandrequire-property-*(#3403) (1008073)
Tests
- Added helper to get version of package when package.json not exported, and updated tests that need it (#3411) (5ae02c7)
- Fixed fastify segment tree assertion when security agent is enabled (#3422) (b2cf6ed)
- Refactored mcp tests to listen on new port for every streaming test, removed unncessary shutdown of process (#3420) (17db813)
- Updated an openai assertion with setTimeout disabled (#3421) (ceec8f9)
Support statement:
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date. (https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/)
See the New Relic Node.js agent EOL policy for information about agent releases and support dates. (https://docs.newrelic.com/docs/apm/agents/nodejs-agent/getting-started/nodejs-agent-eol-policy/)
Notes
Code refactoring
- Update
amqplibinstrumentation to subscribe to events emitted (#3377) (fecbb08) - Updated
cassandra-driverinstrumentation to subscribe to events emitted. (#3372) (bb87cd8)
Documentation
Miscellaneous chores
- Updated
@apm-js-collab/tracing-hooksto latest to take advantage of wasm optimizations (#3398) (cda56cc)
Styles
- Require
jsdoc/valid-typesandjsdoc/check-param-names(#3368) (5d1b1d9) - Require jsdoc
require-param-descriptionandrequire-param-type(#3391) (3785d0c)
Support statement:
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date. (https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/)
See the New Relic Node.js agent EOL policy for information about agent releases and support dates. (https://docs.newrelic.com/docs/apm/agents/nodejs-agent/getting-started/nodejs-agent-eol-policy/)