Dynatrace OneAgent prevents vFunction Agent from hooking an application



Overview of the Issue

This issue occurs in the following circumstances:

  1. An organization installs the vFunction .NET Agent on a Windows Server
  2. The organization adds either / both the .NET Framework and Standard Environment Variables to the .NET process
  3. The organization confirms that the user running the .NET process has Full Access to the directories where the vFunction .NET Agent was installed
  4. The organization restarts the .NET Application and performs actions in the Application
  5. Unexpectedly, the vfagent.net.log is not created in the $BASE_INSTALL_DIR\log\instances$INSTANCE_NAME\ directory nor in the %TEMP% directory. And, there is no Agent in the vFunction Server UI’s Learning tab
  6. The organization downloads and runs Microsoft SysInternal’s Process Explorer
  7. The organization double-clicks on the Process ID associated with the running .NET Application and finds the Environment tab
  8. Unexpectedly, the Environment Variables for the .NET Application include a COR_PROFILER_PATH reference to a Dynatrace OneAgent folder path and the COR_PROFILER or CORECLR_PROFILER UUID is not the vFunction .NET Agent UUID

Steps to Resolve the Issue

.NET Applications can have only one Agent hooked into the Application at a time. At runtime, the Dynatrace OneAgent hooks into every running process on the machine to provide Performance Monitoring statistics.

This issue can be resolved by taking one of two actions:

  1. Disable the Dynatrace OneAgent for the single .NET Application while allowing the Dynatrace OneAgent to run on all other processes
  2. Install the vFunction Multiplexer which will allow all Performance Monitoring details to funnel to the Dynatrace OneAgent and all Architectural information to funnel to the vFunction .NET Agent
Option #1: Disable the Dynatrace OneAgent for the single .NET Application

Take the following steps to resolve this issue:

  1. Open the location where the vFunction .NET Environment Variables were set. For example, the applicationHost.config if the .NET Application is running on IIS
  2. Add the three Environment Variables and Values below to the existing list of Environment Variables for the Application. These will disable the Dynatrace OneAgent for this Application only. Please note that the formatting may need to be adjusted for these Environment Variables, e.g. formatted into an XML for IIS:
COMPlus_ReadyToRun=0
DT_AGENTACTIVE=true
DT_DISABLE_AGENT=true
  1. Restart the Application and confirm that the vfagent.net.log is created as expected
Option #2: Install the vFunction Multiplexer

Follow the vFunction Installation Steps for the vFunction .NET Agent with Dynatrace OneAgent.