How .NET agent collects data?

How .NET agent collects data?

APM Insight .NET Agent is a profiling based monitoring solution. It uses the profiling APIs provided by Microsoft frameworks and hooks itself into the ASP.NET worker process.

The general workflow for monitoring is as given below :

  • The .NET agent monitoring starts when the profiler is loaded into the respective application's worker process (w3wp.exe)

    • A worker process is initialized and/or an app domain is created for an application on the first request it processes. So no data collection will happen if no request is processed by the application

    • In the current version of the agent, the profiler can only be loaded/unloaded during process start/stop. This is the reason for recycling app pools (prior to version 2.5, an iisreset was done) when there is a change in appfilter configurations

  • When monitoring begins, a seperate thread is spawned in the application which establishes connection with the Windows service and sends monitoring data as and when it happens    

    • Monitoring data is collected inside each of the request threads and is sent to the Windows service

    • If the web application is idle or there are no incoming requests, no data will be sent to the service

  • The Windows service aggregates data from each application and sends it to the Appmanager server once every minute

If there is no data for a particular application, empty data is sent, so that status of the application in Appmanager is UP.

                  New to ADSelfService Plus?