Feature Overview
Datadog Continuous Profiler gives you complete, always-on visibility into how your code behaves in production, with low overhead and minimal setup. Find the functions and threads that slow requests, diagnose memory leaks faster, and resolve performance issues with guided insights that help engineers at all levels take action confidently.
Works great with
Application Performance MonitoringResolve production performance issues quickly with always-on, code-level visibility
- Never miss production issues originating from your code by continuously profiling every line across all hosts and containers
- Pinpoint methods and code lines that are inefficient under production load, despite having performed well in pre-production environments
- Correlate spans and traces with profiling data to reveal the true root cause of latency when traces lack enough detail
Help every engineer uncover hidden issues in code behavior, stability, and performance
- Use guided insights that surface the most relevant performance problems without requiring deep profiling expertise
- Gain thread-level visibility into your requests to investigate parallelization, deadlocks, inefficient garbage collection, locks, errors, and more
- Determine exactly what your slow methods are spending time on: CPU, locks, I/O, garbage collection, and more
Track every deploy and eliminate performance regressions
- Create custom dashboards to effectively track and analyze long-term, code-level metrics and detect performance variations in production
- Compare code behavior and impact across hosts, versions, and time-ranges during canary, blue/green, or shadow deploys
- Isolate the most inefficient functions to quickly troubleshoot faulty deployments and decide whether to roll back or ship a fix
Quickly uncover the root cause of memory leaks and OOM crashes
- Use the Memory Leaks flow to determine if your service is leaking and understand the scope of the issue
- Use allocation profiling to spot excessive or unexpected memory usage and visualize long-lived objects
- Compare memory behavior between deploys to identify when a leak was introduced and pinpoint the responsible code change