| title | Enabling the Node.js Profiler | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| code_lang | nodejs | |||||||||||||||||||||
| type | multi-code-lang | |||||||||||||||||||||
| code_lang_weight | 50 | |||||||||||||||||||||
| further_reading |
|
|||||||||||||||||||||
| aliases |
|
The profiler is shipped within Datadog tracing libraries. If you are already using APM to collect traces for your application, you can skip installing the library and go directly to enabling the profiler.
For a summary of the minimum and recommended runtime and tracer versions across all languages, read Supported Language and Tracer Versions.
The Datadog Profiler requires at least Node.js 18.
Continuous Profiler support is in Preview for some serverless platforms, such as AWS Lambda.
Continuous Profiler support is in Preview for Google Cloud Run.
To begin profiling applications:
-
Ensure Datadog Agent v6+ is installed and running. Datadog recommends using Datadog Agent v7+.
-
Run
npm install --save dd-trace@latestto add a dependency on thedd-tracemodule which includes the profiler. -
Enable the profiler:
{{< tabs >}} {{% tab "Environment variables" %}}
export DD_PROFILING_ENABLED=true
export DD_ENV=prod
export DD_SERVICE=my-web-app
export DD_VERSION=1.0.3Note: If you're already using Datadog APM, you are already calling init and don't need to do so again. If you are not, ensure the tracer and the profiler are loaded together:
node -r dd-trace/init app.js{{% /tab %}} {{% tab "In code" %}}
const tracer = require('dd-trace').init({
profiling: true,
env: 'prod',
service: 'my-web-app',
version: '1.0.3'
})Note: If you're already using Datadog APM, you are already calling init and don't need to do so again. If you are not, ensure the tracer and the profiler are loaded together:
const tracer = require('dd-trace/init'){{% /tab %}} {{< /tabs >}}
-
Optional: Set up Source Code Integration to connect your profiling data with your Git repositories.
-
A couple of minutes after you start your application, your profiles appear on the APM > Profiler page. If they do not, refer to the Troubleshooting guide.
The Getting Started with Profiler guide takes a sample service with a performance problem and shows you how to use Continuous Profiler to understand and fix the problem.
{{< partial name="whats-next/whats-next.html" >}}