- Updated on 01 May 2018
- 2 minutes to read
This section provides some troubleshooting tips, related to the Throttling Analyser. It consists of the following articles:
- Why Can't I See Any Throttling Data?
- Reason For The Error “Category does not exist”
Why Can't I See Any Throttling Data?
There could be various reasons why you are not seeing the throttling data in the BizTalk360 throttling analyser. The following check list can help you identify the issue:
Make Sure BizTalk360 Monitoring Service Is Running Without Any Errors BizTalk360 monitoring service is responsible for collecting the BizTalk host throttling performance counter(s) values. So, health of the monitoring service is very critical for collecting the data. You can verify the health of the monitoring service by navigating to Settings > BizTalk360 Health > Monitoring Service Status.
Make Sure BizTalk360 Monitoring Service, Account Has Administrator Rights On All The Machines In The Configured BizTalk Environments In order to collect performance data from a remote machine, the account should have administrator rights on the machine. There are other fine grained options, but BizTalk360 only supports having administrator rights on all the configured servers.
Make Sure BizTalk Host Meets The Following Conditions Handlers are created for the Host Host Instances are created for the Host InProcess host instance is in running state Isolated host instance is loaded
You May Need To Restart The Monitoring Service When you restart the host instances, you may also need to restart the BizTalk360 monitoring service. There is a known challenge as explained here - http://support.microsoft.com/kb/922775. Perfmon (in our case it's BizTalk360 monitoring service) does not detect when a managed program restarts on the remote computer. This issue occurs because the Remote Registry service runs under the Local Service account. The Local Service account is not a member of the Performance Monitor Users group or of the Performance Log Users group. Therefore, the Local Service account does not have access to the CLR performance counter IPC block. Nevertheless, you can monitor CLR performance counters because the Remote Registry service impersonates the user who initiated the monitoring.
However, if the monitored process restarts, a new IPC block is opened by an auxiliary thread in the Remote Registry service. This auxiliary thread does not impersonate the user on client. Therefore, the thread cannot access the CLR performance counter IPC block. To work around this issue, restart the performance counter monitoring from the client.
Reason For The Error “Category does not exist”
This error can happen in any of the BizTalk360 sections where Performance Counters are used and there is some problem with them.
Category does not exist. System.InvalidOperationException: Category does not exist. at System.Diagnostics.PerformanceCounterLib.CounterExists(String machine, String category at System.Diagnostics.PerformanceCounter.InitializeImpl() at System.Diagnostics.PerformanceCounter..ctor(String categoryName, String counterName, instanceName, Boolean readOnly) at System.Diagnostics.PerformanceCounter..ctor(String categoryName, String counterName, instanceName)
This problem is related to disabled Performance Counters. To identify if this can be the reason why you are getting this problem, run this command in an elevated command prompt:
If the problem exists, the result of the command should look like this:
*Performance Counter ID Queries [PERFLIB]: Base Index: 0x00000737 (1847) Last Counter Text ID: 0x00002160 (8544) Last Help Text ID: 0x00002161 (8545)
[PerfProc] Performance Counters (Disabled) DLL Name: %SystemRoot%\System32\perfproc.dll Open Procedure: OpenSysProcessObject Collect Procedure: CollectSysProcessObjectData Close Procedure: CloseSysProcessObject*
In this case, you can try to enable the performance counters by running the following command:
After the counters are enabled the problem should go away. To investigate why your performance counters got disabled, search you servers Application Event Log for the source PerfLib.