You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/en/profiler/enabling/ruby.md
+2
Original file line number
Diff line number
Diff line change
@@ -122,6 +122,7 @@ You can configure the profiler using the following environment variables:
122
122
| `DD_PROFILING_EXPERIMENTAL_HEAP_ENABLED` | Boolean | Set to `true` to enable heap live objects profiling. It requires that allocation profiling is enabled as well. Defaults to `false`. |
123
123
| `DD_PROFILING_EXPERIMENTAL_HEAP_SIZE_ENABLED` | Boolean | Set to `true` to enable heap live size profiling. It requires that heap live objects profiling is enabled as well. Defaults to `false`. |
124
124
| `DD_PROFILING_NO_SIGNALS_WORKAROUND_ENABLED` | Boolean | Automatically enabled when needed, can be used to force enable or disable this feature. See [Profiler Troubleshooting][15] for details. |
125
+
| `DD_PROFILING_PREVIEW_GVL_ENABLED` | Boolean | Set to `true` to enable Global VM Lock (GVL) profiling. It requires the profiler to be enabled already and Ruby 3.2+. Defaults to `false`. |
125
126
| `DD_PROFILING_PREVIEW_OTEL_CONTEXT_ENABLED` | String | Set to `only` when using profiling directly with `opentelemetry-sdk`, or `true` for auto-detection of the correct context to read from. Defaults to `false`. |
126
127
| `DD_ENV` | String | The [environment][10] name, for example: `production`. |
127
128
| `DD_SERVICE` | String | The [service][10] name, for example, `web-backend`. |
@@ -137,6 +138,7 @@ Alternatively, you can set profiler parameters in code with these functions, ins
137
138
| `c.profiling.advanced.experimental_heap_enabled` | Boolean | Set to `true` to enable heap live objects profiling. It requires that allocation profiling is enabled as well. Defaults to `false`. |
138
139
| `c.profiling.advanced.experimental_heap_size_enabled` | Boolean | Set to `true` to enable heap live size profiling. It requires that heap live objects profiling is enabled as well. Defaults to `false`. |
139
140
| `c.profiling.advanced.no_signals_workaround_enabled` | Boolean | Automatically enabled when needed, can be used to force enable or disable this feature. See [Profiler Troubleshooting][15] for details. |
141
+
| `c.profiling.advanced.preview_gvl_enabled` | Boolean | Set to `true` to enable Global VM Lock (GVL) profiling. It requires the profiler to be enabled already and Ruby 3.2+. Defaults to `false`. |
140
142
| `c.profiling.advanced.preview_otel_context_enabled` | String | Set to `only` when using profiling directly with `opentelemetry-sdk`, or `true` for auto-detection of the correct context to read from. Defaults to `false`. |
141
143
| `c.env` | String | The [environment][10] name, for example: `production`. |
142
144
| `c.service` | String | The [service][10] name, for example, `web-backend`. |
| {{< ci-details title="Trace to Profiling integration" >}}Find specific lines of code related to performance issues. <ahref="/profiler/connect_traces_and_profiles/#identify-code-hotspots-in-slow-traces">Learn more</a>{{< /ci-details >}} |[JDK 8+][17]| tracer 2.12.0,<br>2.11.4, 2.10.7 | tracer 1.51.0 | tracer 1.21.1 | tracer 5.11.0,<br>4.35.0, 3.56.0 | tracer 2.30.0 | tracer 2.30.0 ||
49
49
| {{< ci-details title="Endpoint Profiling" >}}Identify endpoints that are bottlenecks or responsible for heavy resource consumption. <ahref="/profiler/connect_traces_and_profiles/#endpoint-profiling">Learn more</a>{{< /ci-details >}} |[JDK 8+][17]| tracer 0.54.0 | tracer 1.37.0 | tracer 0.52.0 | tracer 5.0.0,<br>4.24.0, 3.45.0 | tracer 2.15.0 | tracer 0.79.0 ||
50
-
| {{< ci-details title="Timeline View" >}}Surface time-based patterns and work distribution over the period of a span. <ahref="/profiler/connect_traces_and_profiles/#span-execution-timeline-view">Learn more</a>{{< /ci-details >}} |[JDK 8+][17]| tracer 2.12.0,<br>2.11.4, 2.10.7 | tracer 1.51.0 | tracer 1.21.1 | tracer 5.11.0,<br>4.35.0, 3.56.0 | tracer 2.30.0 | tracer 0.89.0 ||
50
+
| {{< ci-details title="Timeline View" >}}Surface time-based patterns and work distribution over the period of a span. <ahref="/profiler/connect_traces_and_profiles/#span-execution-timeline-view">Learn more</a>{{< /ci-details >}} |[JDK 8+][17]| tracer 2.12.0,<br>2.11.4, 2.10.7 | tracer 1.51.0 | tracer 1.21.1<br>(2.4.0 for GVL profiling)| tracer 5.11.0,<br>4.35.0, 3.56.0 | tracer 2.30.0 | tracer 0.89.0 ||
Copy file name to clipboardExpand all lines: content/en/profiler/profile_types.md
+4
Original file line number
Diff line number
Diff line change
@@ -168,6 +168,10 @@ Heap Live Size (alpha, v2.3.0+)
168
168
: The amount of heap memory allocated by each method that has not yet been garbage collected. This is useful for investigating the overall memory usage of your service and identifying potential memory leaks.<br />
169
169
_Requires: Ruby 3.1+_ and [manual enablement][2]
170
170
171
+
GVL profiling (in Timeline) (preview, v2.4.0+)
172
+
: Records time when threads are prevented from working by other "noisy neighbor" threads, including background threads. This is useful for investigating latency spikes in the application when using the timeline visualization.<br />
0 commit comments