---
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/java.md) | [Python](https://docs.datadoghq.com/profiler/enabling/python.md)                  | [Go](https://docs.datadoghq.com/profiler/enabling/go.md)  | [Ruby](https://docs.datadoghq.com/profiler/enabling/ruby.md)  | [Node.js](https://docs.datadoghq.com/profiler/enabling/nodejs.md) | [.NET](https://docs.datadoghq.com/profiler/enabling/dotnet.md) | [PHP](https://docs.datadoghq.com/profiler/enabling/php.md)              | [Rust/C/C++](https://docs.datadoghq.com/profiler/enabling/ddprof.md) |
| ------------------------------------------------------------ | --------------------------------------------------------------------------------- | --------------------------------------------------------- | ------------------------------------------------------------- | ----------------------------------------------------------------- | -------------------------------------------------------------- | ----------------------------------------------------------------------- | -------------------------------------------------------------------- |
| **Minimum runtime version**                        | [JDK 8+](https://docs.datadoghq.com/profiler/enabling/java.md#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/java.md#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/java.md)                 | [Python](https://docs.datadoghq.com/profiler/enabling/python.md)                                                                     | [Go](https://docs.datadoghq.com/profiler/enabling/go.md) | [Ruby](https://docs.datadoghq.com/profiler/enabling/ruby.md)                                                                                  | [Node.js](https://docs.datadoghq.com/profiler/enabling/nodejs.md)                                                                                                | [.NET](https://docs.datadoghq.com/profiler/enabling/dotnet.md)                                                                                                   | [PHP](https://docs.datadoghq.com/profiler/enabling/php.md)                                                                           | [Rust/C/C++](https://docs.datadoghq.com/profiler/enabling/ddprof.md)                                                                 |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
| {% 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/java.md#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/java.md#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/java.md)                                                                                                                                                                                                                                         | [Python](https://docs.datadoghq.com/profiler/enabling/python.md) | [Go](https://docs.datadoghq.com/profiler/enabling/go.md) | [Ruby](https://docs.datadoghq.com/profiler/enabling/ruby.md) | [Node.js](https://docs.datadoghq.com/profiler/enabling/nodejs.md) | [.NET](https://docs.datadoghq.com/profiler/enabling/dotnet.md) | [PHP](https://docs.datadoghq.com/profiler/enabling/php.md) | [Rust/C/C++](https://docs.datadoghq.com/profiler/enabling/ddprof.md) |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------ | ----------------------------------------------------------------- | -------------------------------------------------------------- | ---------------------------------------------------------- | -------------------------------------------------------------------- |
| {% 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)
