Continuous Profiler

Continuous Profiler

Find CPU, memory, and IO bottlenecks, broken down by method name, class name, and line number, to significantly reduce end-user latency and infrastructure costs.

Low impact in production

Continuous profiler runs in production across all services by leveraging technologies such as JDK Flight Recorder to have minimal impact on your host’s CPU and memory usage.

Getting started

The Continuous Profiler is not available for the Datadog site.

Profiling your service to visualize all your stack traces in one place takes just minutes.

Instrument your application

To get notified when a private beta is available for the PHP or .NET Profiler, complete the Continuous Profiler - Product Access Request form.

Guide to using the profiler

The Getting Started with Profiler guide takes a sample service with a performance problem and shows you how to use Continuous Profiler to understand and fix the problem.

Explore Datadog profiler

After you’ve configured your application to send profiles to Datadog, start getting insights into your code performance:

Search profiles by tags

Use tags to search profiles across any dimension—whether it’s a specific host, service, version, or any combination.

Track function performance over deployments

Obtain key profiling metrics from services such as top CPU usage by method, top memory allocations by thread, and CPU usage by version to visualize in your dashboards.

Connect traces to profiling data

Application processes that have both APM distributed tracing and continuous profiler enabled are automatically linked, so you can move directly from span information to profiling data on the Code Hotspots tab to find specific lines of code related to performance issues.

Find changes in performance by comparing profiles

Comparing similar profiles from different times, environments, or deployments can help you understand the possible causes of and solutions to performance problems. The Datadog profiler offers comparison visualizations to make sense of why profiles are different based on time frames or tags that you scope by.

Further Reading