In this module, you will integrate Lumigo with the demo application.
Lumigo will trace the invocations of your application. The first thing we will use it for is to get an understanding of how our application looks in real life.
Notice how this is identical to the architecture diagram we drew by hand, except it’s drawn from the actual invocations that Lumigo has traced, so it’s always up-to-date and based on actual data.
Clicking on the Metrics
tab would show you some additional metrics like the number of cold starts as well as cold start durations.
requestUnicorn
function and you should see something like this:requestUnicorn
function, you should see its return value, invocation event, environment variables and its logs:Similarly, if you click on the unicornDispatched
SNS topic, you will see the sns.Publish
request that requestUnicorn
function made to it. Notice that sensitive data like API keys and auth tokens are scrubbed and were never sent to Lumigo’s backend in the first place.
Where a resource was accessed multiple times during a transaction, you can also iterate through all the individual requests too. For example, the requestUnicorn
function did a dynamodb.Get
and then dynamodb.Put
against the OccupiedUnicorns
table:
Having all these information at your fingertips makes it easy for you to understand what actually happened during this transaction without spraying your code with manual instrumentation code!
Timeline
shows you where the time was spent on this transaction to help you identify culprits when performance issues arise.Now that you know your way around Lumigo, let’s use it to troubleshoot the issues we are seeing in the demo app.