---
title: Language and Library Versions for Profiler Features
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: >-
  Docs > Continuous Profiler > Enabling the Profiler > Language and Library
  Versions for Profiler Features
---

# Language and Library Versions for Profiler Features

The following tables summarize the features available for each language runtime.

- **Minimum versions** are required to access at least one feature. If you have an earlier version, profiling is not available.
- **Feature-complete versions** give you access to **all** supported features. It's usually best if you update to the latest version of all SDKs.

{% alert level="info" %}
For more details, click the language heading in any table to go that language's setup page.
{% /alert %}

## Runtime and SDK versions{% #runtime-and-sdk-versions %}

To use the Datadog Profiler, use at least the minimum versions summarized in the following table. For specific profile type availability by version, see Profile types.

| [Java](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=java) | [Python](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=python)                  | [Go](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=go) | [Ruby](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=ruby) | [Node.js](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=node_js) | [.NET](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=dot_net) | [PHP](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=php)    | [Rust/C/C++](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=rust) |
| ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ----------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| **Minimum runtime version**                                  | [JDK 8+](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=java#requirements)  | Python 2.7+                                                   | [previous major Go release](https://go.dev/doc/devel/release)          | Ruby 2.5+                                                               | Node.js 18+                                                          | .NET Core 2.1+, .NET 5+, .NET Framework 4.6.1+ | PHP 7.1+                                                                |
| **Feature-complete runtime version**                                   | [JDK 11+](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=java#requirements) | Python 3.6+                                                   | [latest major Go release](https://go.dev/doc/devel/release)            | Ruby 3.2+                                                               | Node.js 18+                                                          | .NET 7+                                                            | PHP 8.0+                                                                |
| **Feature-complete SDK version**                                       | [latest](https://github.com/DataDog/dd-trace-java/releases)                                 | [latest](https://github.com/DataDog/dd-trace-py/releases)          | [latest](https://github.com/DataDog/dd-trace-go/releases)              | [latest](https://github.com/DataDog/dd-trace-rb/releases)                    | [latest](https://github.com/DataDog/dd-trace-js/releases)                 | [latest](https://github.com/DataDog/dd-trace-dotnet/releases)           | [latest](https://github.com/DataDog/dd-trace-php/releases)                   | [latest](https://github.com/DataDog/ddprof/releases) |

## Profile types{% #profile-types %}

The following table shows profile type availability by language. For optimal performance and access to all features, Datadog recommends using the latest version of the SDK for your language. If a specific runtime version isn't indicated, the profile type is available with the minimum runtime version listed in the Runtime and SDK versions.

|                                                                                                                                                                                                                                                                                             | [Java](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=java)                 | [Python](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=python)                                                           | [Go](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=go) | [Ruby](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=ruby)                                                                        | [Node.js](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=node_js)                                                                                     | [.NET](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=dot_net)                                                                                        | [PHP](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=php)                                                                 | [Rust/C/C++](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=rust)                                                         |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
| {% collapsible-section style="margin-bottom:0" %}
  CPU: The time each function/method spent running on the CPU.
    {% /collapsible-section %}                                                                                                                                             | yes                                                                                    | yes                                                                                                                                  | yes                                                                | yes                                                                                                                                           | yes                                                                                                                                                              | yes                                                                                                                                                              | yes                                                                                                                                  | Preview (PREVIEW indicates an early access version of a major product or feature that you can opt into before its official release.) |
| {% collapsible-section style="margin-bottom:0" %}
  Exceptions: The number of exceptions raised, including those caught.
    {% /collapsible-section %}                                                                                                                                     | yes                                                                                    | yes                                                                                                                                  | yes                                                                |
| {% collapsible-section style="margin-bottom:0" %}
  Allocation: Number and sizes of memory allocations made by each function/method, including allocations which were subsequently freed.
    {% /collapsible-section %}                                                                    | [JDK 11+](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=java#requirements) | Python 3.6+                                                                                                                          | yes                                                                | yes                                                                                                                                           | Preview (PREVIEW indicates an early access version of a major product or feature that you can opt into before its official release.).NET 6+(.NET 10 recommended) | yes                                                                                                                                                              | Preview (PREVIEW indicates an early access version of a major product or feature that you can opt into before its official release.) |
| {% collapsible-section style="margin-bottom:0" %}
  Heap: The amount of heap memory allocated that remains in use.
    {% /collapsible-section %}                                                                                                                                           | [JDK 11+](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=java#requirements) | Python 3.6+                                                                                                                          | yes                                                                | Preview (PREVIEW indicates an early access version of a major product or feature that you can opt into before its official release.)Ruby 3.1+ | yes                                                                                                                                                              | Preview (PREVIEW indicates an early access version of a major product or feature that you can opt into before its official release.).NET 7+(.NET 10 recommended) | Preview (PREVIEW indicates an early access version of a major product or feature that you can opt into before its official release.) |
| {% collapsible-section style="margin-bottom:0" %}
  Wall time: The elapsed time spent in each function/method. Elapsed time includes time when code is running on CPU, waiting for I/O, and anything else that happens while the function/method is running.
    {% /collapsible-section %} | yes                                                                                    | yes                                                                                                                                  | yes                                                                | yes                                                                                                                                           | yes                                                                                                                                                              | yes                                                                                                                                                              |
| {% collapsible-section style="margin-bottom:0" %}
  Locks: The time each function/method spent waiting for and holding locks, and the number of times each function acquired a lock.
    {% /collapsible-section %}                                                                         | yes                                                                                    | yes                                                                                                                                  | yes                                                                | .NET 5+                                                                                                                                       |
| {% collapsible-section style="margin-bottom:0" %}
  I/O: The time each method spent reading from and writing to files and sockets.
    {% /collapsible-section %}                                                                                                                           | yes                                                                                    | Preview (PREVIEW indicates an early access version of a major product or feature that you can opt into before its official release.) |

## Other features{% #other-features %}

The following table outlines additional profiling features by language. For full functionality and best performance, Datadog recommends using the latest version of your language's SDK. If a specific runtime version isn't indicated, the feature is available with the minimum runtime version listed in the Runtime and SDK versions.

| [Java](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=java)                                                                                                                                                                                                                               | [Python](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=python) | [Go](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=go) | [Ruby](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=ruby) | [Node.js](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=node_js) | [.NET](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=dot_net) | [PHP](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=php) | [Rust/C/C++](https://docs.datadoghq.com/profiler/enabling.md?prog_lang=rust) |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| {% collapsible-section style="margin-bottom:0" %}
  Trace to Profiling integration: Find specific lines of code related to performance issues. [Learn more](https://docs.datadoghq.com/profiler/connect_traces_and_profiles.md#identify-code-hotspots-in-slow-traces)
    {% /collapsible-section %} | yes                                                                        | yes                                                                | yes                                                                    | yes                                                                          | yes                                                                       | yes                                                                  | yes                                                                          |
| {% collapsible-section style="margin-bottom:0" %}
  Endpoint Profiling: Identify endpoints that are bottlenecks or responsible for heavy resource consumption. [Learn more](https://docs.datadoghq.com/profiler/connect_traces_and_profiles.md#endpoint-profiling)
    {% /collapsible-section %}    | yes                                                                        | yes                                                                | yes                                                                    | yes                                                                          | yes                                                                       | yes                                                                  | yes                                                                          |
| {% collapsible-section style="margin-bottom:0" %}
  Timeline View: Surface time-based patterns and work distribution over the period of a span. [Learn more](https://docs.datadoghq.com/profiler/connect_traces_and_profiles.md#span-execution-timeline-view)
    {% /collapsible-section %}         | yes                                                                        | yes                                                                | yes                                                                    | yes                                                                          | yes                                                                       | yes                                                                  | yes                                                                          |
| {% collapsible-section style="margin-bottom:0" %}
  Memory Leaks: A guided workflow to assist in investigating memory leaks. [Learn more](https://docs.datadoghq.com/profiler/guide/solve-memory-leaks.md)
    {% /collapsible-section %}                                                            | yes                                                                        | yes                                                                | yes                                                                    |

## Further reading{% #further-reading %}

- [Enabling Profiler](https://docs.datadoghq.com/profiler/enabling.md)
