Optimizing Resource Usage of the .NET Core Profiler

By default, the eG .NET Core Profiler monitors asynchronous calls made by the BTM-enabled .NET Core application, and reports the details of all these calls as part of detailed diagnostics. Since asynchronous call monitoring is a resource-intensive activity, the profiler will consume a signficant amount of CPU and memory while at it. This excessive resource consumption by the profiler may also adversely impact the performance of the target .NET Core application. To optimize the profiler's resource usage and to make sure that application performance is not compromised, you may want to consider disabling asynchronous call monitoring by the profiler. For this, do the following:

  1. Login to the server hosting the BTM-enabled .NET Core application.

  2. Edit the eg_CoreclrServer.ini file in the <EG_AGENT_INSTALL_DIR>\agent\config directory (on Unix, <EG_AGENT_INSTALL_DIR> is /opt/egurkha).

  3. Search for the ENABLE_THREADS_TASKS parameter in the file. Once you find it, you will notice that it is set to 1 by default. This means that asynchronous call monitoring is enabled by default for the profiler.

  4. To disable asynchronous call monitoring, set the ENABLE_THREADS_TASKS parameter to 0.

  5. Finally, save the file and restart the server.