# Source: https://docs.datadoghq.com/profiler/enabling/supported_versions.md

---
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 tracing libraries.

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

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

|                                                                                                                                                                                                                                                                                             | [Java](https://docs.datadoghq.com/profiler/enabling/java/)                 | [Python](https://docs.datadoghq.com/profiler/enabling/python/)                                                                       | [Go](https://docs.datadoghq.com/profiler/enabling/go/) | [Ruby](https://docs.datadoghq.com/profiler/enabling/ruby/)                                                                                                                  | [Node.js](https://docs.datadoghq.com/profiler/enabling/nodejs/)                                                                                                  | [.NET](https://docs.datadoghq.com/profiler/enabling/dotnet/)                                                                                                     | [PHP](https://docs.datadoghq.com/profiler/enabling/php/)                                                                             | [Rust/C/C++](https://docs.datadoghq.com/profiler/enabling/ddprof/)                                                                   |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
| {% 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                                                                        | Python 3.7+                                                                                                                          | 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/#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/#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+Not yet compatible with Ruby 4 | 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 tracing library. If a specific runtime version isn't indicated, the feature is available with the minimum runtime version listed in the Runtime and tracing library versions.

| [Java](https://docs.datadoghq.com/profiler/enabling/java/)                                                                                                                                                                                                                                         | [Python](https://docs.datadoghq.com/profiler/enabling/python/) | [Go](https://docs.datadoghq.com/profiler/enabling/go/) | [Ruby](https://docs.datadoghq.com/profiler/enabling/ruby/) | [Node.js](https://docs.datadoghq.com/profiler/enabling/nodejs/) | [.NET](https://docs.datadoghq.com/profiler/enabling/dotnet/) | [PHP](https://docs.datadoghq.com/profiler/enabling/php/) | [Rust/C/C++](https://docs.datadoghq.com/profiler/enabling/ddprof/) |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------ | ---------------------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------ | -------------------------------------------------------- | ------------------------------------------------------------------ |
| {% 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/#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/#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/#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/)
    {% /collapsible-section %}                                                            | yes                                                            | yes                                                    | yes                                                        |

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

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