Sunday, November 12, 2023

Analyzing Worst-Case latency experience with Azure Monitor - Application Insights

This article discusses how we can identify and analyze the worst case response of an application/API with Azure Monitor - Application Insights.

We can start the analysis with the Performance blade of the Application Insights workspace.

By default it provides a glimpse of average response.











However, our focus lies in identifying the worst-performing results. Let's transition to the 99th percentile.










We've identified a culprit. There's a conspicuous outlier. Now, let's delve deeper. Our goal is to pinpoint the root cause. Is it within our codebase, or is it linked to a dependency?

There are several avenues to explore this, but I find the Transaction Search feature to be the most effective. Let's navigate to that.

For now, we won't filter by API name, but it's advisable to choose the 99th percentile.








We can observe the peak request there. Let's refine our view by selecting only "Request & Dependency" as filters.








We've already got the answer. It appears to be due to a dependency, as indicated by the yellow line on the graph.

We can even delve deeper to the leaf level to identify the specific request and dependency. Let's narrow down the time period and revisit the results.












Here are the results I obtained in the results section.






This discovery is the starting point for my optimization. We can proceed to take the necessary actions regarding the dependencies.

No comments: