APM Insight .NET agent facilitates asynchronous (async) calls made with async-await operations introduced in .NET 4.5.
Async programming is a programming approach that enables code to be executed concurrently, without blocking the execution of the calling thread. This document explains how async processing occurs and how the APM Insight .NET agent monitors async functions.
APM Insight .NET agent uses System.Threading.Tasks to capture the async-await operations being executed, even though the called method has ended.
Synchronous programming models typically execute programming tasks in a specific order. One task must be completed before the next, which increases the waiting time for several tasks.
Asynchronous programming uses a non-blocking model, allowing tasks to be executed concurrently. Asynchronous tasks are completely independent of one another in terms of execution and initialization. Because asynchronous code does not execute in a sequential order, the server's full processing power can be utilized more efficiently.
The APM Insight .NET agent has been specifically designed to monitor async tasks, allowing users to track the performance of async functions and web transactions easily.
The traces captured in APM Insight provide visibility into how asynchronous tasks are executed concurrently across your environment.
Follow the steps below to view the asynchronous calls:

We show the exact execution time for async methods that are being called using async-await.
The Overall Response Time for asynchronous .NET applications is often less than the total transaction time. This is because async methods do not have to wait for all preceding methods to finish before returning. Because tasks can be deferred, the application can make better use of its limited resources and process things faster.
To view this, navigate to the Applications Manager web client > APM tab > select your application > click the Overview tab. On the Overview page, check the App Server Response Time Broken by Components graph. The asynchronous activity in the respective .NET application can result in the response time being less than the total transaction time.

It allows us to track crucial metrics such as response times, resource utilization, error rates, and transaction performance. The real-time monitoring alerts promptly notify us of any issues or anomalies, enabling us to take immediate action.
Reviewer Role: Research and Development