Native Profiler or Autoprobe level instrumentation in dual mode ? 32 and 64bit on same machine.

Document ID : KB000020318
Last Modified Date : 14/02/2018
Show Technical Document Details

Applies to : Introscope .NET Agent v8.x and 9.0.x

Native Profiler

  • Install the .NET agent in 64-bit mode

  • Place the 32-bit version (DotNetAgentFilesNoInstaller.x86.9.x.x.x.zip) of wily.NativeProfiler.dll under wily\bin\x86\

  • Run regsrv32.exe from C:\WINDOWS\SysWOW64 (regsrv32.exe under SysWOW64 is 32-bit exe) location to register the 32-bit version of NativeProfiler.dll as mentioned in the next step
    C:\WINDOWS\SysWOW64>regsrv32.exe "C:\agent\wily\bin\x86\wily.NativeProfiler.dll"

  • Place the 32-bit version (DotNetAgentFilesNoInstaller.x86.9.x.x.x.zip) of the wily.agent.dll to the GAC (C:\windows\assembly) along with the 64-bit wily.agent.dll

Autoprobe level.

  • Install the .NET agent in 64-bit mode with autoprobe instrumentation and configure it to make it working (Permissions, profile set to EM etc.).
    Test with a 64bit .Net app first so you know its stable and working fine.

  • Then Obtain the 32bit version of the wily.AutoProbeConnector.dll (DotNetAgentFilesNoInstaller.x86.9.x.x.x.zip)

  • Place the 32-bit version of wily.AutoProbeConnector.dll in a new directory under <agent_home>\bin\x86\
    Run regsvr32.exe which is available at C:\WINDOWS\SysWOW64 (regsvr32.exe under SysWOW64 is 32-bit exe) location to register the 32-bit version of wily.AutoProbeConnector.dll as mentioned in the next step
    C:\WINDOWS\SysWOW64>regsvr32.exe "<agent_home>\bin\x86\wily. AutoProbeConnector.dll"

  • Run regAsm.exe on wily.AutoProbe.dll (use the 32bit verson of regasm against the 64bit version of the file)
    c:\windows\Micrsoft.NET\Framework\v2.0.50727\regasm.exe "<agent_home>\bin\wily.AutoProbe.dll" /codebase

  • Place the 32-bit version (DotNetAgentFilesNoInstaller.x86.9.x.x.x.zip) of the wily.agent.dll to the GAC (C:\windows\assembly) along with the 64-bit wily.agent.dll

  • The agent is up for grabbing 32-bit and 64-bit applications

  • Add the specific application to introscope.agent.dotnet.monitorApplications property in IntroscopeAgent.profile

  • Remember defaultdomain and autonaming possible issues as well.

Some sample background is useful:-

CLRs running .Net v2 (2.0.50727) on a Win 2003 R2 64bit box.

We've got:-

  • IIS (W3WP.exe) running 64bit

  • Enterprise Single Signon Service (ENTSSO.exe) running 64bit

  • Biztalk (BTSNTsvc.exe) running 32bit (one of the adapters only supports 32bit so no 64bit option)

With a 64bit Agent install with Native Profiler enabled:-

IIS instruments fine.
ENTSSO does not. (Native dll and agent dll attach in process explorer ok)
Biztalk throws the fantastic "Failed to CoCreate profiler" error messages in the Event Log. (no dlls attached in process explorer)

With a 64bit Agent install with Autoprobe enabled:-

ENTSSO instruments fine.(workaround defaultdomain problem by turning autonaming off)
Biztalk throws the fantastic "Failed to CoCreate profiler" error message still.

With a 32bit Agent install with Autoprobe enabled:-

Biztalk shows up fine but obviously the two 64bit .Net CLRS wont be instrumented.
Autoprobe level works a lot better but I need to choose between 64 or 32 not both.
Customer says they can't force 32bit mode on the other apps