Skip to content

JetBrains IDE plugin / Move Profiler docs to separate page #29758

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Jun 13, 2025
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion config/_default/menus/main.en.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1075,11 +1075,16 @@ menu:
parent: ide_plugins
identifier: ide_plugins_idea
weight: 701
- name: Continuous Profiler
url: developers/ide_plugins/idea/continuous_profiler/
parent: ide_plugins_idea
identifier: ide_plugins_idea_profiler
weight: 7011
- name: Live Debugger
url: developers/ide_plugins/idea/live_debugger/
parent: ide_plugins_idea
identifier: ide_plugins_idea_debugger
weight: 7011
weight: 7012
- name: VS Code & Cursor
url: developers/ide_plugins/vscode/
parent: ide_plugins
Expand Down
68 changes: 12 additions & 56 deletions content/en/developers/ide_plugins/idea/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ further_reading:

## Overview

The Datadog plugin for JetBrains IDEs helps improve software performance by providing code insights in the IDE based on real-time observability data. The plugin is for developers that use Datadog products including [Log Explorer][5], [Error Tracking][6], [Code Security][7], [Continuous Profiler][10], [Test Optimization][18] and [CI Visibility][19] to monitor their services. It is available for IntelliJ IDEA, GoLand, PyCharm, WebStorm, and PhpStorm.
The Datadog plugin for JetBrains IDEs helps improve software performance by providing code insights in the IDE based on real-time observability data. The plugin is for developers that use Datadog products including [Log Explorer][5], [Error Tracking][6], [Live Debugger][21], [Continuous Profiler][10], [Code Security][7], [Test Optimization][18] and [CI Visibility][19] to monitor their services. It is available for IntelliJ IDEA, GoLand, PyCharm, WebStorm, and PhpStorm.

{{< img src="/developers/ide_plugins/idea/overview1.png" alt="The Datadog tool window open in IDEA" style="width:100%;" >}}

Expand All @@ -37,7 +37,7 @@ The **Code Insights** feature helps you find and fix runtime errors from [Error

The [**Live Debugger**][20] enables you to capture vital debugging information by adding temporary logs to your runtime code and without having to stop and restart your service or application.

The **Continuous Profiler** helps you to reduce latency and lower cloud costs by highlighting code that uses the most CPU time, allocates the most memory, triggers the most exceptions, or consumes high amounts of other resources.
The [**Continuous Profiler**][22] helps you to reduce latency and lower cloud costs by highlighting code that uses the most CPU time, allocates the most memory, triggers the most exceptions, or consumes high amounts of other resources.

The **CI Test Runs** feature opens the [CI Visibility Explorer][9] to show recent runs for any test.

Expand Down Expand Up @@ -105,67 +105,21 @@ Code Insights include a detailed description for each issue, and links to:

You can dismiss individual insights and set filters to view the categories of insights that you are interested in.

## Continuous Profiler

The **Continuous Profiler** tab shows profiling information for the service in a selected environment, aggregated over a specific time frame. Available views are:
- [Top list](#top-list): Displays a list of the most resource intensive methods for the current profiling measure.
- [Flame graph](#flame-graph): A flame graph representing stack traces in the profiles.

You can specify the following parameters for the profiling data:
- The profile type to be displayed
- The environment in which the service is running
- The time frame for the profile samples to be aggregated

The available profiling types usually include options like **CPU Time** and **Allocated Memory**, but are determined by the platform and vary by language.

### Top list

The **Top List** sub-tab shows the methods that consume the most resources based on the aggregated profile data loaded from the Datadog servers. These are the methods that are most likely candidates for optimization.

{{< img src="/developers/ide_plugins/idea/top-list1.png" alt="The Top-list view" style="width:100%;" >}}

- Double-clicking an item in the list (or selecting **Jump to Source** from the context menu) opens a source code editor showing where the method is defined.
- To see a flame graph visualization of a method, select **Search in Flame Graph** from the context menu.

#### Call tree
## Live Debugger

The call tree to the right of the **Top List** shows the paths that lead to (and from) the selected method.
The [**Live Debugger**][20] enables you to add logpoints—auto-expiring, "non-breaking breakpoints"—to your runtime code to collect information for debugging.

The default **Caller Hierarchy** view shows the callers (or predecessors) of the target method and the frequency with which they appear in the call stack. To view the callees (or successors), click the **Callee Hierarchy** button on the toolbar.
{{< img src="/developers/ide_plugins/idea/live_debugger/tool-window-tab.png" alt="The Live Debugger tab" style="width:100%;" >}}

Right-click on a method in the call tree to see options to navigate to the source editor or flame graph.
Find out more in the [Live Debugger documentation][20].

### Flame graph

A flame graph is a visualization of profiling samples that shows stack traces and their relative frequency during the sample period. The Datadog plugin collects multiple individual profiles from the requested time frame, and aggregates them. Each individual profile covers a 60 second interval within the requested time frame.

{{< img src="/developers/ide_plugins/idea/flamegraph1.png" alt="A flame graph showing CPU Time over the past hour" style="width:100%;" >}}

Each time you change the profile type, the time frame, or the environment, the Datadog plugin generates a new flame graph.

You can navigate the flame graph in several ways:
- Double-click on any frame to focus on that method and all the methods that it has called during the sampling period.
- Use the minimap to pan around the graph.
- Right-click on a method and select **Jump to Source** to go to the corresponding point in the source code.

Hovering over a method displays a tooltip with the following information:
- The class name and method signature
- The package name
- The profiling metric value and percentage breakdown.

Profiling samples include stack trace and line number information. Use the **Separate Flame Graph by** button to switch between separating frames by method or line number.

{{< img src="/developers/ide_plugins/idea/separate-flamegraph-by.png" alt="Use the tooltip button to separate frames by method or line number" style="width:40%;" >}}
## Continuous Profiler

### Source highlighting
The [**Continuous Profiler**][22] highlights resource consumption (CPU, memory allocation and thrown exceptions, for example) using profiling data collected from deployed services. This information helps developers write more efficient code and eliminate bottlenecks.

When the Continuous Profiler tab is active, the plugin adds code highlights to the source code editor margin. For Top Methods, an icon appears in the editor margin, and line-level highlights appear in the code based on the active Profiling data.
- Hover over the icon to see more information.
- Click the icon to open the top list Profiling tab or open Profiling in Datadog.
{{< img src="/developers/ide_plugins/idea/interest-options.png" alt="Click the Datadog icon to open the Profiling data in a tab or in Datadog" style="width:100%;" >}}
{{< img src="/developers/ide_plugins/idea/continuous_profiler/flamegraph.png" alt="A flame graph showing CPU Time over the past hour" style="width:100%;" >}}

The active Profiling tab also affects the project tree view, which is annotated with the selected profile's metrics:
{{< img src="/developers/ide_plugins/idea/project-tree-view.png" alt="The project tree annotated with profile metrics from a profile tab" style="width:60%;" >}}
Find out more in the [Continuous Profiler documentation][22].

## CI Test Runs
You can view recent test runs in the [CI Visibility Explorer][12] by navigating directly from your source files. Look for the **CI Test Run** inlays above test method declarations in your source code:
Expand Down Expand Up @@ -239,3 +193,5 @@ If you don't wish to send this data to Datadog, you can disable the collection a
[18]: /tests/
[19]: /continuous_integration/
[20]: /developers/ide_plugins/idea/live_debugger/
[21]: /tracing/live_debugger/
[22]: /developers/ide_plugins/idea/continuous_profiler/
80 changes: 80 additions & 0 deletions content/en/developers/ide_plugins/idea/continuous_profiler.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
title: Continuous Profiler
type: documentation
further_reading:
- link: "/getting_started/profiler/"
tag: "Documentation"
text: "Getting started with Continuous Profiler."
- link: "/integrations/guide/source-code-integration/"
tag: "Documentation"
text: "Learn about Source Code Integration."
---

## Overview
The **Continuous Profiler** highlights resource consumption (CPU, memory allocation, and thrown exceptions amongst others) using profiling data collected from deployed services. This information helps developers eliminate bottlenecks and write more efficient code.

## Profiler tab

The Continuous Profiler tab shows profiling information for the service in a selected environment, aggregated over a specific time frame. Available views are:
- [Top list](#top-list): Displays a list of the most resource intensive methods for the current profiling measure.
- [Flame graph](#flame-graph): A flame graph representing stack traces in the profiles.

You can specify the following parameters for the profiling data:
- The profile type to be displayed
- The environment in which the service is running
- The time frame for the profile samples to be aggregated

The available profiling types usually include options like **CPU Time** and **Allocated Memory**, but are determined by the platform and vary by language.

## Top list

The **Top List** sub-tab shows the methods that consume the most resources based on the aggregated profile data loaded from the Datadog servers. These are the methods that are most likely candidates for optimization.

{{< img src="/developers/ide_plugins/idea/continuous_profiler/top-list.png" alt="The Top-list view" style="width:100%;" >}}

- Double-clicking an item in the list (or selecting **Jump to Source** from the context menu) opens a source code editor showing where the method is defined.
- To see a flame graph visualization of a method, select **Search in Flame Graph** from the context menu.

### Call tree

The call tree to the right of the **Top List** shows the paths that lead to (and from) the selected method.

The default **Caller Hierarchy** view shows the callers (or predecessors) of the target method and the frequency with which they appear in the call stack. To view the callees (or successors), click the **Callee Hierarchy** button on the toolbar.

Right-click on a method in the call tree to see options to navigate to the source editor or flame graph.

## Flame graph

A flame graph is a visualization of profiling samples that shows stack traces and their relative frequency during the sample period. The Datadog plugin collects multiple individual profiles from the requested time frame, and aggregates them. Each individual profile covers a 60 second interval within the requested time frame.

{{< img src="/developers/ide_plugins/idea/continuous_profiler/flamegraph.png" alt="A flame graph showing CPU Time over the past hour" style="width:100%;" >}}

Each time you change the profile type, the time frame, or the environment, the Datadog plugin generates a new flame graph.

You can navigate the flame graph in several ways:
- Double-click on any frame to focus on that method and all the methods that it has called during the sampling period.
- Use the minimap to pan around the graph.
- Right-click on a method and select **Jump to Source** to go to the corresponding point in the source code.

Hovering over a method displays a tooltip with the following information:
- The class name and method signature
- The package name
- The profiling metric value and percentage breakdown.

Profiling samples include stack trace and line number information. Use the **Separate Flame Graph by** button to switch between separating frames by method or line number.

{{< img src="/developers/ide_plugins/idea/separate-flamegraph-by.png" alt="Use the tooltip button to separate frames by method or line number" style="width:40%;" >}}

## Source highlighting

When the Continuous Profiler tab is active, the plugin adds code highlights to the source code editor margin. For Top Methods, an icon appears in the editor margin, and line-level highlights appear in the code based on the active Profiling data.
- Hover over the icon to see more information.
- Click the icon to open the top list Profiling tab or open Profiling in Datadog.
{{< img src="/developers/ide_plugins/idea/interest-options.png" alt="Click the Datadog icon to open the Profiling data in a tab or in Datadog" style="width:100%;" >}}

The active Profiling tab also affects the project tree view, which is annotated with the selected profile's metrics:
{{< img src="/developers/ide_plugins/idea/project-tree-view.png" alt="The project tree annotated with profile metrics from a profile tab" style="width:60%;" >}}

## Further reading

{{< partial name="whats-next/whats-next.html" >}}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file modified static/images/developers/ide_plugins/idea/overview1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading