1. What are the very basic checks that need to be done when .NET BTM test for a website (say,

SampleWebsite) is not reporting any metrics?

• IP / PORT Cross-check – The IP and Port number of the “SampleWebsite” needs to be cross-checked

while adding a component.

Website Name in Test Config – The website name “SampleWebsite” (Case sensitive - as in the IIS

server) needs to be specified in test configuration page of “.NET Business Transactions” Test.

Successful execution of SetupDotNetProfiler.bat – Check if a “Setup Aborted” error message

appeared when the SetupDotnetProfiler.bat was executed.

IISRESET – Check if the IISRESET command was run after successful execution of batch file.

Initiate Requests for Website – Ensure that the user hits the URL of the SampleWebsite.

Enable IIS Management Scripting & Tools – Enable IIS Management scripts and tools from the

Microsoft Windows features.

Check for the existence of other Profiling Tools – For this, follow the steps below:

➢ Login to the system where eG BTM is installed.

➢ Open Windows Explorer and go to the Computer or My Computer node therein, depending

upon the version of Windows in use. In some Windows versions, you can even type This PC in

Search.

➢ Right-click on the relevant node and select Properties.


                                              

Figure 1: Properties Window

➢ Figure 2 will appear. Click on Advanced Settings in Figure 2.


Figure 2: System Window

➢ Then Figure 3 appears. Under Advanced tab, click on the Environment Variables button.



Figure 3 - System Properties Window

➢ In the list of Environment Variables that then appears, look for the COR_PROFILER and

COR_ENABLE_PROFILING variables.


Figure 4 - Environment Variables window


➢ If the COR_PROFILER is set to GUID, 947734AF-7AE7-41DD-BAE5-5EA8E4AE89BB, it

means that eG BTM has been installed on the system. On the other hand, if the

COR_PROFILER variable contains any other GUID, it implies that some other profiling tool has

been installed on the system. In this case, delete both the COR_PROFILER and

COR_ENABLE_PROFILING variables.

➢ Finally, run the IISRESET command for the changes to take effect.


2. How to verify whether the eG .NET BTM module is successfully attached to a worker process

(w3wp.exe)?

• If you are using a .NET Runtime version older than v2.0, then follow the steps below:

➢ Open the Windows Event Viewer and check for “.NET Runtime” information in Windows Logs> Application.

➢ If you find the following message therein, it means that the attachment is successful.

The profiler was loaded successfully. Profiler CLSID: '{947734AF-7AE7-41DD-BAE5-

5EA8E4AE89BB}'

• If you are using .NET Runtime v2.0 (or above), then follow the steps below:

➢ Download ProcessExplorer.exe and run in Administrator mode.

➢ Press CTRL+ F and search for eGCLRMonitor.dll.

➢ Check if w3wp.exe of the web site’s application pool contains eG .NET BTM. If so, it means

that eG .NET BTM is successfully attached to the worker process.


3. What do I do if no messages are logged in .NetProfLogs or if the .NetProfLogs directory is empty?

• Check if BTM module loaded properly – Do the basic checks that have been detailed in our response to

question 2 in the FAQ section.

Check for Permission in eGurkha directory – For this, follow the steps below:

➢ First, navigate to the <EG_INSTALL_DIR> in Windows Explorer.

➢ Then, right-click on the <EG_INSTALL_DIR>, and select Properties.

➢ In the Properties dialog box that then appears, click the Security tab page.

➢ Check for “Authenticated Users” permission in the Group or user names list in the Security tab page.


Figure 5 - eGurkha Properties

➢ If you do not find “Authenticated Users” displayed in the Group or user names list, then it

means that “Authenticated Users” are not allowed access to <EG_INSTALL_DIR>. In this case,

make sure that the permission is granted.


4. What do I do to save web application when the web site crashes / throws ERROR in web page, after

.NET BTM is setup?

• First, open <EG_INSTALL_DIR>\agent\config\eg_DotnetServer.ini file and change INSTRUMENTATION_LEVEL to ‘2’. Then, run the IISRESET command.

• If the web site crashes even after the instrumentation level is changed, then run the uninstall_Profiler.bat in the <EG_INSTALL_DIR>\lib directory to uninstall the profiler.


Please contact the development team, if problems persist even after the aforesaid checks are

performed.


5. How can I check if .NET BTM module is sending data to eG agent?

Open the AgentComm.log file (in the <EG_INSTALL_DIR>\agent\logs\.NetProfLogs directory) and do the

following:

➢ Check for the following message in log file:

“[ERROR] unable to Connect with server 10061”

If the message is found, it indicates that the test has not started.

➢ Check for the following message in log file:

“REQ SWAPPED - 1 & REQ SENT: 0 “

If the message is found, it indicates that the request was filtered/discarded, since the request does not

pertain to the web site being monitored.


6. What if .Net BTM could not capture the requests even after all basic checks were performed and

passed?

Open the AgentComm.log file (in the <EG_INSTALL_DIR>\agent\logs\.NetProfLogs directory) and check if

REQ_SWAPPED is ‘0’ for the w3wp.exe Process ID, even after the user hits the URL of the web site. If so, it

indicates that the requests were not captured. Typically, requests to the following page types will not be

captured:

➢ Pure HTML pages

➢ Pure ASP pages

➢ Pages with any other extensions

This is because, the eG .NET BTM can trace the path of requests to only .NET web applications.


Please contact the development team if the problem persists.


FAQs


1. What entries must be written in registry during Profiler Setup?

• The profiler related values are written to the “Environment” key in the following locations:

➢ Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WAS

➢ Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC

• The “Environment” key should have the following values in it:

➢ COR_PROFILER={947734AF-7AE7-41DD-BAE5-5EA8E4AE89BB} --> eG .NET BTM Module’s GUID

➢ COR_ENABLE_PROFILING=1


2. How to confirm that no profiler is installed on the server?

• Look for “COR_PROFILER” and “COR_ENABLE_PROFILING” entries in the “Environment” key in the following registry locations:

➢ Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WAS

➢ Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC

• If no such entries are present, then it means that no profiler is installed on the server machine.


3. Which VC++ runtime is required for profiler dlls?

VC++ redistributable for Visual Studio 2012 Runtime (64bit or 32 bit) needs to be installed for profiler to run.


4. What are the Healthy transactions and how to monitor them?

Transactions with a response time that is less than the slow threshold (4000 ms) are considered as healthy transactions. Tracking of such transactions is disabled by default in the test configuration page of the .NET Transactions test. If you want such transactions to be monitored, then set the Healthy URL Trace flag of the .NET Transactions test to Yes.


5. Can eG monitor .NET client applications?

No - .NET BTM is currently supported for web applications developed using .NET only.


6. How to remove the BTM Module after the agent is uninstalled from the machine?

Run uninstall_Profiler.bat from the <EG_INSTALL_DIR>\lib directory to uninstall the profiler. Then, run the IISRESET command to remove the BTM Module.


7. What happens if the agent is stopped and the BTM Module is running?

The .NET BTM continues to collect metrics for transactions that occur after the agent is stopped. However, such metrics will be discarded once the transactions end.


8. What should I do if the web server is running on load balancer mode?

.NET BTM module must not be installed on the load balancer machine. The BTM module must be set up on the server where the web site is deployed and running.


9. What should I do for monitoring a transaction which spans both java and .NET web apps?

    BTM must be enabled for both the Java and .NET web apps to trace the complete path of the transaction.


10. How to identify whether the web server is using .NET CORE for runtime?

Check if BTM module is attached to the worker. Then, check if there is a process named “dotnet.exe”. If it exists, then it means that the web server is using .NET CORE. For additional confirmation, cross-check with the customer.


11. How can I fetch the User Name and Business Context for the transactions?

There are four methods to fetch Username and Business Context. Refer to the .NET Business Transaction Monitoring document for more details.