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