Dynatrace provides extensive Node.js monitoring capabilities:
- Heap and process metrics
- Heap dumps
- CPU sampling
- Event loop metrics
- Insights into inbound and outbound HTTP calls
- Dedicated support for a variety of databases (includes query capture)
- OpenTelemetry support for capturing traces and ingesting metrics.
For more information, see
- OneAgent SDK for custom tracing
- Continuous thread analysis for worker threads
See our supported technologies matrix for details about supported technologies that will be used in conjunction with Node.js.
Support & desupport
Node.js follows an LTS release model.
Each odd-numbered version reaches EOL shortly after each new even-numbered version is released. Each even-numbered version eventually becomes an LTS release. For enterprise production environments, we recommend that you stick to LTS releases.
Whenever a new Node.js major version (even or uneven) is released, we add support for that version.
Dynatrace will follow this support model, but will support each Node.js version at least half a year longer to give our customers time for upgrades.
|Node.js version||Vendor released||Vendor End of life||First supported OneAgent version||Last supported OneAgent version||Dynatrace support until||Dynatrace support level|
New Node.js 18 features marked as 'experimental' are not supported.
Limited support: Dynatrace can only solve problems that can be reproduced on supported versions.
Continuous thread analysis for worker threads
Node.js version 12+ OneAgent version 1.251+ Dynatrace version 1.256+
Continuous thread analysis for worker threads can automatically identify CPU-intensive threads and pinpoint scalability issues when work is distributed across many threads so that you can solve performance bottlenecks before your end users are impacted.
Statistics about the
CPU time consumed by the various
To get started with the continuous thread analysis for worker threads, activate the OneAgent features Node.js worker threads monitoring and Node.js code module preloading.
- Node.js specific metrics (for example, memory, garbage collection, and event-loops) are only reported for the
- Class browsing (required for the custom messaging services of kafkajs) is limited to the
There is no automatic transaction tracing in place between the
worker threads. For tracing transactions across threads, you can either use OpenTelemetry tracing or the OneAgent SDK.
In conjunction with unsupported third-party modules, context can be lost in asynchronous callbacks. In such cases, please contact a Dynatrace ONE product specialist by clicking the chat button in the upper-right corner of the Dynatrace menu bar.
Using the NPM module esm in variant 1 for packages might result in reduced visibility (especially if used for the main application script). It's preferable to use variant 2 to preload
-rcommand line option.
There is currently only limited support for ECMAScript modules (aka "ES6 modules"):
If the main script file itself is an ECMAScript module OneAgent version 1.219+ with Agent preloading enabled is needed for the OneAgent to be injected into the Node.js process.
Instrumentation of ECMAScript modules is currently not available. This limits support for
kafkajsin case the user defined entrypoint for the KafkaJs sensor is inside an ECMAScript module.
Webpack bundles all modules into a single file by default. OneAgent is unable to instrument bundled modules. To work around this limitation, all modules that need to be instrumented by the OneAgent (such as express, mongodb, and pg) need to be externalized in the webpack configuration. For details, see the webpack externals documentation.