From 1cb53b9c30283941c04b0d242fc3a712b985915d Mon Sep 17 00:00:00 2001 From: anandreshmi46 <62700652+anandreshmi46@users.noreply.github.com> Date: Thu, 27 Nov 2025 16:39:21 +0100 Subject: [PATCH 1/5] Troubleshooting Node profiler issue --- .../profiler_troubleshooting/nodejs.md | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/content/en/profiler/profiler_troubleshooting/nodejs.md b/content/en/profiler/profiler_troubleshooting/nodejs.md index 8e5e2cc99b2..f043635aa5a 100644 --- a/content/en/profiler/profiler_troubleshooting/nodejs.md +++ b/content/en/profiler/profiler_troubleshooting/nodejs.md @@ -56,6 +56,26 @@ If you believe your musl version should be supported, contact [Datadog support][ When the Datadog profiler is enabled, it periodically sends a small signal to collect profiling data. If the application is idle (waiting for I/O or timers), this signal briefly wakes the event loop to take a sample, even though there's no real work to do. As a result, ELU appears higher because the loop wakes up more often, but CPU usage stays low, and no latency or extra workload is introduced. In a busy application, these same signals occur while the loop is already active, so the effect on ELU is negligible. +## Disabling Advanced Profiling Features + +Advanced profiling capabilities in Datadog provide rich context—such as endpoint-level visibility, timeline correlations, and code hotspot linking—that significantly improve analysis quality. +Under normal circumstances, these should remain enabled. However, when diagnosing performance issues or overhead, temporarily disabling specific components can help isolate the source of additional load. +The goal is to narrow down which feature contributes to CPU, memory, or latency changes during profiling. + +1. Disable Code Hotspots + +`DD_PROFILING_CODEHOTSPOTS_ENABLED=false` Disables trace-to-profile linking in Datadog UI. + +2. Disable Timeline View + +`DD_PROFILING_TIMELINE_ENABLED=false` Disables timeline view in the Datadog UI. + +3. Disable Endpoint Collection + +`DD_PROFILING_ENDPOINT_COLLECTION_ENABLED=false` Disables per-endpoint aggregation of profiling data, this prevents grouping samples by HTTP endpoints or routes + +Once you identify that disabling a specific profiling feature reduces overhead, please report your findings so we can investigate further. You can contact [Datadog support][5] + ## Further Reading {{< partial name="whats-next/whats-next.html" >}} From fea8a29bfd69f67daca723d3423e285b3be5a15d Mon Sep 17 00:00:00 2001 From: anandreshmi46 <62700652+anandreshmi46@users.noreply.github.com> Date: Mon, 1 Dec 2025 13:21:39 +0100 Subject: [PATCH 2/5] Update content/en/profiler/profiler_troubleshooting/nodejs.md Co-authored-by: Janine Chan <64388808+janine-c@users.noreply.github.com> --- content/en/profiler/profiler_troubleshooting/nodejs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/profiler/profiler_troubleshooting/nodejs.md b/content/en/profiler/profiler_troubleshooting/nodejs.md index f043635aa5a..aea16c29edd 100644 --- a/content/en/profiler/profiler_troubleshooting/nodejs.md +++ b/content/en/profiler/profiler_troubleshooting/nodejs.md @@ -56,7 +56,7 @@ If you believe your musl version should be supported, contact [Datadog support][ When the Datadog profiler is enabled, it periodically sends a small signal to collect profiling data. If the application is idle (waiting for I/O or timers), this signal briefly wakes the event loop to take a sample, even though there's no real work to do. As a result, ELU appears higher because the loop wakes up more often, but CPU usage stays low, and no latency or extra workload is introduced. In a busy application, these same signals occur while the loop is already active, so the effect on ELU is negligible. -## Disabling Advanced Profiling Features +## Disable advanced profiling features Advanced profiling capabilities in Datadog provide rich context—such as endpoint-level visibility, timeline correlations, and code hotspot linking—that significantly improve analysis quality. Under normal circumstances, these should remain enabled. However, when diagnosing performance issues or overhead, temporarily disabling specific components can help isolate the source of additional load. From db410acd2e3134551184878217724fca564045d9 Mon Sep 17 00:00:00 2001 From: anandreshmi46 <62700652+anandreshmi46@users.noreply.github.com> Date: Mon, 1 Dec 2025 13:21:47 +0100 Subject: [PATCH 3/5] Update content/en/profiler/profiler_troubleshooting/nodejs.md Co-authored-by: Janine Chan <64388808+janine-c@users.noreply.github.com> --- content/en/profiler/profiler_troubleshooting/nodejs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/profiler/profiler_troubleshooting/nodejs.md b/content/en/profiler/profiler_troubleshooting/nodejs.md index aea16c29edd..09b4aa4df48 100644 --- a/content/en/profiler/profiler_troubleshooting/nodejs.md +++ b/content/en/profiler/profiler_troubleshooting/nodejs.md @@ -60,7 +60,7 @@ In a busy application, these same signals occur while the loop is already active Advanced profiling capabilities in Datadog provide rich context—such as endpoint-level visibility, timeline correlations, and code hotspot linking—that significantly improve analysis quality. Under normal circumstances, these should remain enabled. However, when diagnosing performance issues or overhead, temporarily disabling specific components can help isolate the source of additional load. -The goal is to narrow down which feature contributes to CPU, memory, or latency changes during profiling. +You can do so to narrow down which feature contributes to CPU, memory, or latency changes during profiling. 1. Disable Code Hotspots From 5ea33dc6b05379ad6591726a2d4cfb00d8f16d4b Mon Sep 17 00:00:00 2001 From: anandreshmi46 <62700652+anandreshmi46@users.noreply.github.com> Date: Mon, 1 Dec 2025 13:21:55 +0100 Subject: [PATCH 4/5] Update content/en/profiler/profiler_troubleshooting/nodejs.md Co-authored-by: Janine Chan <64388808+janine-c@users.noreply.github.com> --- content/en/profiler/profiler_troubleshooting/nodejs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/profiler/profiler_troubleshooting/nodejs.md b/content/en/profiler/profiler_troubleshooting/nodejs.md index 09b4aa4df48..acda9dbb162 100644 --- a/content/en/profiler/profiler_troubleshooting/nodejs.md +++ b/content/en/profiler/profiler_troubleshooting/nodejs.md @@ -74,7 +74,7 @@ You can do so to narrow down which feature contributes to CPU, memory, or latenc `DD_PROFILING_ENDPOINT_COLLECTION_ENABLED=false` Disables per-endpoint aggregation of profiling data, this prevents grouping samples by HTTP endpoints or routes -Once you identify that disabling a specific profiling feature reduces overhead, please report your findings so we can investigate further. You can contact [Datadog support][5] +After you identify that disabling a specific profiling feature reduces overhead, report your findings so Datadog can investigate further. You can do so by contacting [Datadog support][5]. ## Further Reading From d650f29364b8bb76d55bb4fea36ceb0b5e8191ad Mon Sep 17 00:00:00 2001 From: anandreshmi46 <62700652+anandreshmi46@users.noreply.github.com> Date: Mon, 1 Dec 2025 13:22:01 +0100 Subject: [PATCH 5/5] Update content/en/profiler/profiler_troubleshooting/nodejs.md Co-authored-by: Janine Chan <64388808+janine-c@users.noreply.github.com> --- .../profiler_troubleshooting/nodejs.md | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/content/en/profiler/profiler_troubleshooting/nodejs.md b/content/en/profiler/profiler_troubleshooting/nodejs.md index acda9dbb162..9dca0c80a48 100644 --- a/content/en/profiler/profiler_troubleshooting/nodejs.md +++ b/content/en/profiler/profiler_troubleshooting/nodejs.md @@ -62,17 +62,26 @@ Advanced profiling capabilities in Datadog provide rich context—such as endpoi Under normal circumstances, these should remain enabled. However, when diagnosing performance issues or overhead, temporarily disabling specific components can help isolate the source of additional load. You can do so to narrow down which feature contributes to CPU, memory, or latency changes during profiling. -1. Disable Code Hotspots - -`DD_PROFILING_CODEHOTSPOTS_ENABLED=false` Disables trace-to-profile linking in Datadog UI. +- **Disable code hotspots** -2. Disable Timeline View + Disable trace-to-profile linking in the Datadog UI: + ``` + DD_PROFILING_CODEHOTSPOTS_ENABLED=false + ``` -`DD_PROFILING_TIMELINE_ENABLED=false` Disables timeline view in the Datadog UI. +- **Disable timeline view** -3. Disable Endpoint Collection + Disable timeline view in the Datadog UI: + ``` + DD_PROFILING_TIMELINE_ENABLED=false + ``` -`DD_PROFILING_ENDPOINT_COLLECTION_ENABLED=false` Disables per-endpoint aggregation of profiling data, this prevents grouping samples by HTTP endpoints or routes +- **Disable endpoint collection** + + Disable per-endpoint aggregation of profiling data, which groups samples by HTTP endpoints or routes: + ``` + DD_PROFILING_ENDPOINT_COLLECTION_ENABLED=false + ``` After you identify that disabling a specific profiling feature reduces overhead, report your findings so Datadog can investigate further. You can do so by contacting [Datadog support][5].