Chat now with support
Chat with Support

Diagnostic Manager 5.0.1 - Reference Guide

Page Component Performance Data Collection

The  Metalogix Diagnostic Manager Collection Service can analyze the load performance of individual page components on the SharePoint pages that you specify. The Collection Service uses the solution to analyze the page components that make up the pages that you specify.

When you analyze page performance, the analysis itself can change the page performance; the more comprehensive the analysis, the more changes the analysis introduces. The  Metalogix Diagnostic Manager solution imposes the minimum possible performance penalty consistent with accurate analysis. In addition, performance analysis components are only used when performance analysis is actually in progress. When  Metalogix Diagnostic Manager is not analyzing page performance, there is no performance impact on your SharePoint pages.

Metalogix Diagnostic Manager uses a custom HTTP module to collect page performance data. The solution can use the HTTP module to analyze any page that is based on a master page template that includes the AdditionalPageHead placeholder. The solution overrides the default AdditionalPageHead to direct the request to the analysis components.

You can examine the HTML that makes up the Master Page template for the SharePoint site to determine if the page includes the AdditionalPageHead placeholder. The Master Page header should include a line similar to the following:

<SharePoint:DelegateControl runat="server" ControlId="AdditionalPageHead" AllowMultipleControls="true"/>

The default Master Page templates include the placeholder.

 

Page Component Data Collection

The methods that the solution uses to collect data vary. The solution uses a different data collection method for each type of control that makes up the page.

The solution uses the individual object event handlers to insert a listener into the execution process of ASP.NET controls, including web controls, server controls, user controls, and other ASP.NET elements. The solution overrides the load events and the unload events for each control. The solution uses the timers that it inserts to track component start and end times. Many controls are unloaded in batches by garbage collection processes on the Web front end (WFE) server. That is, the WFE server loads the ASP.NET controls, then keeps them resident until the garbage collector removes items in its queue. Resident items are technically still loaded until the garbage collector removes items in the queue.

SharePoint solutions and ASP.NET solutions are a type of server control but each has unique behaviors. The information that the solutions expose is different from that exposed by a base control. The Metalogix Diagnostic Manager solution treats the SharePoint and ASP.NET solutions as server controls to collect solution performance information from them. Metalogix Diagnostic Manager creates a solution group that is based on the type value of the solutions that it analyzes. Metalogix Diagnostic Manager also uses the SPWebPartManager object for the page to access the data.

Each page in your SharePoint deployment has a single Solution Manager object. SharePoint uses this Solution Manager object to keep track of all of the solutions on the page. The Solution Manager object is accessible within the page context using the this.page.WebPartManager command. Metalogix Diagnostic Manager also accesses the Solution Manager object out-of-band with the SPLimitedWebPartManager object from the GetLimitedWebPartManager method.

The method used to collect the data from the Solution Manager object varies, depending on the calling context. Metalogix Diagnostic Manager can access the SPWebPartManager object inside a solution. Metalogix Diagnostic Manager uses SPLimitedWebPartManager to get solution data from an HTTP module or handler assembly without access to the post-rendered context of a page.

For HTML controls, linked objects, or embedded objects, Metalogix Diagnostic Manager must request the object URI and time the response to measure performance. This method is simple for pages which do not utilize authentication mechanisms. When the page requires valid user credentials for a remote server, the task is more complex. If remote host is also a SharePoint server, timing complexities ensue. In the worst-case scenario, the SharePoint farm includes a complicated domain architecture that requires impersonation techniques to pass credentials to the remote host. As with ASP.NET controls, the solution performs careful filtering to determine which HTML controls have a potentially high-value performance impact and which are simply filler or formatting objects.

Metalogix Diagnostic Manager uses a DOM-parsing method to obtain and analyze the HTML components. In addition, it uses other mechanisms, including RegularExpressions, to build an array of controls for further processing. When the array is populated, the Metalogix Diagnostic Manager solution passes the URLs to the Data Collection service protocol analyzer object to retrieve the objects and generate performance statistics.

 

Troubleshooting

 

Troubleshooting WMI Issues

When Metalogix Metalogix Diagnostic Manager is unable to collect WMI information, it generates an alert.  The alert includes an error message that indicates the underlying problem.  The message that appears is similar to the following:

WMI Object Counter names '<Counter Name>' encountered an Invalid Class error in the WMI query for object "<Object Name>'. This usually indicates that the WMI objects are not available on the target machine.

Metalogix Diagnostic Manager may be unable to retrieve the WMI information for one or more of the following reasons:

·The WMI Counters are disabled.

·The performance library is overloaded.  

·The WMI repository is corrupt.

When you troubleshoot WMI availability, there are several procedures that  recommends to correct the issue.  You should perform the following checks in the specified order.  If you encounter an error when you perform any of these checks, please contact Quest Support for additional assistance.

1)Verify that the WMI system is available.

2)Verify that the performance counter class is accessible.

3)Verify that the performance counter instance is accessible.

4)Verify that the Windows performance counters are enabled on the server.

5)Change the WMI counter timeout.

6)Resynchronize the WMI Performance Library.

7)Update the WMI Registry and register the WMI DLL files.

8)Salvage the WMI Repository.

9)Rebuild the list of WMI counters.

10) Assign additional memory to the WMI pool..

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating