Dashbird helps aggregating and analyzing the metrics above to diagnose issues which surface in a serverless environment. Dashbird parses CloudWatch logs and presents an overview which enables users to analyze lambda functions effectively, including their health, errors, invocations among many other key factors.
Here is an image of the main dashboard on Dashbird. It’s very handy tool which lets you analyse the health of your lambda functions. As you can see, parameters like number of invocations, duration, memory usage are among the few parameters which are displayed straight up.
Here are some ways which helps in improving AWS lambda application health.
Dashbird lets you analyse individual lambdas as shown in following screenshot.
You can narrow down your analysis by clicking on a specific lambda above. Say you click on the lambda named as “timeout” in the view above, it will show the detailed view of the timeout lambda as shown below.
Now, if you wish to further analyse the logs or other factors of specific invocation, you can do so by clicking the Request which shows this.
Dashbird also provides memory usage for each lambda. The memory usage in the below screenshot helps you identify if we need to allocate more memory for improving health.
The size of the deployed archive can impact the performance of your lambda function. Removing any unused libraries or frameworks will speed up the warm up and invocation time. If none of the libraries can be removed, one can look for alternative lightweight efficient libraries that can replace the ones which are currently used.
AWS Lambda is billed per invocation. It makes no sense for AWS to keep our functions warm all the time. But these cold starts can be frustrating for user experience. The best way to keep them warm is to schedule their invocation. Though, it adds to the overall cost but it is worth considering, because of the significant performance boost it gives. Here is how you can schedule your lambda function invocation.
Go to AWS console
Click on CloudWatch
Click on Events and Create Rule
Enter necessary details in Event Source and Targets as shown in screenshot below
With AWS X-Ray, developers can analyze and debug performance issues and troubleshoot them. You can use AWS X-Ray SDKs to create your own trace segments, annotate your traces, and view trace segments for downstream calls made from your Lambda functions. Luckily, Dashbird now has X-Ray integration making it incredibly easy to trace the logs!
Serverless comes with limitations of less control on your application infrastructure, however, with analysis in right direction powered by right metrics and utilising tool provided by Dashbird, one can come over these limitations.
Hope you liked reading this short overview of monitoring the health of your lambda functions. Feel free to let us know in the comments below if you have any questions or remarks!
We aim to improve Dashbird every day and user feedback is extremely important for that, so please let us know if you have any feedback about these improvements and new features! We would really appreciate it!
Sign up to our newsletter to get all the latest news and tutorials on serverless.