Skip to content

Conversation

@anandreshmi46
Copy link
Contributor

What does this PR do? What is the motivation?

The flags for disabling advanced features are not fully documented in the Node.js troubleshooting sections, as most customers use the default profiler configuration. This information should be included to help customers fine-tune performance issues independently

Merge instructions

Merge readiness:

  • Ready for merge

For Datadog employees:

Your branch name MUST follow the <name>/<description> convention and include the forward slash (/). Without this format, your pull request will not pass CI, the GitLab pipeline will not run, and you won't get a branch preview. Getting a branch preview makes it easier for us to check any issues with your PR, such as broken links.

If your branch doesn't follow this format, rename it or create a new branch and PR.

[6/5/2025] Merge queue has been disabled on the documentation repo. If you have write access to the repo, the PR has been reviewed by a Documentation team member, and all of the required checks have passed, you can use the Squash and Merge button to merge the PR. If you don't have write access, or you need help, reach out in the #documentation channel in Slack.

Additional notes

@anandreshmi46 anandreshmi46 requested a review from a team as a code owner November 27, 2025 15:41
@github-actions
Copy link
Contributor

Preview links (active after the build_preview check completes)

Modified Files

Copy link
Contributor

@janine-c janine-c left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, Reshmi, thank you for documenting these additional flags! I made some minor formatting suggestions to make the new content easier to copy and paste. Take a look and let me know what you think, or if there's anything I can clarify 🙂

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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## 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.
The goal is to narrow down which feature contributes to CPU, memory, or latency changes during profiling.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.

Comment on lines +65 to +75
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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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
- **Disable code hotspots**
Disable trace-to-profile linking in the Datadog UI:
```
DD_PROFILING_CODEHOTSPOTS_ENABLED=false
```
- **Disable timeline view**
Disable timeline view in the Datadog UI:
```
DD_PROFILING_TIMELINE_ENABLED=false
```
- **Disable endpoint collection**
Disable per-endpoint aggregation of profiling data, which groups samples by HTTP endpoints or routes:
```
DD_PROFILING_ENDPOINT_COLLECTION_ENABLED=false
```

Some minor formatting changes to create some indentation so it's easier to read, and make the code samples easier to see 🙂


`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]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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].

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants