Continuous Profiling for AWS Lambda

Datadog’s Continuous Profiler for AWS Lambda functions gives you visibility into the exact method name, class name, and line number in your Lambda code that is causing CPU or I/O bottlenecks.

Continuous Profiler for AWS Lambda is in public beta. During the beta period, profiling for Node and Python is available at no additional cost.

Usage

To enable profiling:

  1. Ensure you have installed the associated tracing library in your Lambda function.
  2. Set the DD_PROFILING_ENABLED environment variable to true.

Data is available after a minimum of 60 execution seconds of the Lambda function.

The profiler works by spawning a thread that periodically wakes up and takes a snapshot of the CPU and heap of running code. This includes the profiler itself. If you want the profiler to ignore itself, set DD_PROFILING_IGNORE_PROFILER to true.

Support

Depending on your runtime, this feature requires the following tracer and layer versions:

RuntimeMinimum tracer versionMinimum layer version
Python1.4.062
Node.js2.22.1, 3.9.087

Further Reading

Additional helpful documentation, links, and articles: