In today's modern software development, distributed applications are become more popular. It is expected that building applications more rapidly and highly scalable by adopting distributed serverless systems. Despite these benefits distributed serverless systems have challenges about monitoring and troubleshooting. Users working with distributed applications need to display their serverless system with services and all interactions between them. At his point, Thundra offers users to track their serverless distributed system from end-to-end with Full Tracing capability.
As from the beginning, our motto is "Full serverless observability", "Full Tracing" is an essential feature to achieve our goal. For this purpose Thundra provides you to both distributed tracing and local tracing as "Full Tracing" feature. In favor of Thundra's full tracing capability, you are able to monitor your Lambda functions from high level which means interaction with other Lambdas and services to deeper level such as specific line.
Distributed tracing is supported with two unique capabilities in Thundra:
Multiple upstream transaction - There can be multiple invocations when an invocation is triggered. For example a batch of messages come through multiple invocations and written to DynamoDB with one transaction. In Thundra, you can display each upstream invocation link to downstream invocation.
Business transaction - Some invocation are related to each other with logical interactions. Such as writing a message to DynamoDB table after an approval. You can link logically related flows with Thundra's distributed tracing.
Thundra provides this capability via Traces. You can display your all individual traces in Traces Page. Using detailed queries you can filter your traces. Traces are listed in terms of:
Trigger of the origin
End to end duration of trace
Error types if any thrown
When you want to go through deeper level of your serverless system, filter your traces according to your needs and click on any trace. Trace map page will be shown as below:
Trace map provides you interactions between lambda functions in specific trace and metrics and health of interactions. As seen in picture, failed Lambda function is highlighted with red square. You can click on failed Lambda to figure out what's going wrong.
Side view is an easy way to detect root cause of issues of a problematic node in a specific trace. You can go and investigate your CloudWatch logs or details of invocation of that trace with a one-click.
To use end-to-end tracing, you can easily configure your system by going through our dedicated documentation: