Thundra monitors your Lambda functions with no code change.

Automatic Instrumentation

We designed Thundra to be used in the easiest way. Just modifying environment variables is enough. You don’t need to redeploy your functions thanks to dynamic instrumentation

If you prefer to configure instrumentation in your function, you are free to use annotations for instrumenting with ease.

Manual Instrumentation

On top of flexible automatic instrumentation, Thundra also supports manual instrumentation for

  • Embedding custom properties to watch
  • Embedding custom code spans to execute your logic inside Lambda functions

Zero Overhead

Thundra puts no additional burden on your Lambda functions.

With asynchronous monitoring capability, Thundra doesn’t make REST calls. Instead, it asynchronously reads from and writes to your CloudWatch logs to successfully observe what’s happening with your code.


Thundra achieves exceptional flexibility to track every detail
you might need inside your methods and class definitions.

Thundra provides all possible ways for tracing Lambda functions with great set of skills:

  • Great visibility into errors occurring in the functions
  • Method level tracing for public and even private functions
  • Ability to monitor the return values of the methods
  • Configurable tracing levels for classes and methods separately
  • Configurable trace dispatches when a function takes longer than expected
Tracing Lambda Functions

Advanced Searching

Thundra helps you find what you need with ease among tons of data.

Thundra delivers many options to dig into the data it gathers. You can filter the data with respect to profile, region, and time. Moreover, you can filter the data for:

  • Erroneous invocations
  • Cold starts
  • Invocations taking longer than a threshold.

With all those in hand, Thundra makes it possible to track every detail thanks to advanced searching.

Advanced Searching


Thundra provides complete transparency of performance changes during the execution of your Lambda functions.

Thundra helps you understand what’s going on with the metrics of the environment while your function runs. Thundra gives the comfort of monitoring how much memory and CPU your lambda function consumes. You can also track how many times and for how long garbage collector is active

This type of functionality helps to test the assumptions you have about the execution of your code allowing you to continuously improve functions.



Cold starts happen. You can minimize them with Thundra's smart cold start solution.

On top of great monitoring capabilities, Thundra aims to make serverless experience more seamless for serverless folks. With Thundra's warm-up module, you can keep your Lambda containers warm with our concurrent calls to desired number of containers. By only plugging Thundra's warm-up module with no code modification, you will be sure that cold start percentage will drop to less than 1% for Java, Node.js, Python and Golang.

Metric & Log Aggregation

Trace charts are cool! Thundra makes them even cooler by aggregating trace charts with logs printed during execution.

Three pillars of observability requires all of the following at the same time: trace charts, performance metrics, and execution logs. Thundra captures all pillars at once and lets you understand what’s happening.

You have the x-ray of the invocations with the ability to see which part took how long, what the CPU consumption was at that time, and what your logs say. All you need to do is discover what’s wrong!

Metric & Log Trace Charts


Debugging has never been unexpectedly short.
Thundra helps you devote less time for it.

Debugging is a painful process and it is even worse for Lambda functions. Thundra equips you with every possible tool to troubleshoot easily. You can make changes on your function and see the effect instantly using Thundra.


Get Started in 5 minutes

Once you add Thundra’s artifacts as dependencies to your project in a couple of minutes, you can gain visibility into your AWS Lambda functions.

Language Support