Instructions for accessing the Waveset debug pages mentioned in this section are described in Accessing the Debug Pages.
If you are having performance problems, try gathering the following information for Support:
Call Timer data. Waveset's Call Timer debug page (debug/callTimer.jsp) enables you to collect call timer statistics for different methods, which can be useful performance data.
Use the following steps to collect the most-relevant data:
Open the Clear Timing Statistics page and click Start Timing and Tracing to enable tracing and timing.
Waveset can only collect call timing statistics when tracing is enabled.
Return to Waveset and perform the action that is causing performance issues.
Refresh the Call Timer debug page.
Verify that you captured performance data.
The Show Timings table should list the methods for which statistics are available and the methods' aggregate call timer statistics. (These statistics are not broken down by caller).
Click the Export button to export the data to a calltimer.xml file.
Save calltimer.xml and deliver the file to Support for analysis.
For more information about the Call Timer debug page, see Control Timings (callTimer.jsp).
Java Profiler data. Java profilers are third-party applications that attach to running Java processes and track all operations.
Support might ask you to run a memory profiler if you are having extreme or low-level performance issues in Waveset or in your custom code. Running Java profilers can cause additional performance degradation, but they provide useful insight about what is happening at a low level. If running a profiler is necessary, your Support representative will give you detailed instructions.
Main/Run Loop Tracing data. You can use Waveset Trace to capture the state of your system but to be useful, the trace must be targeted where the problem occurs. Identifying this location can be difficult, so consult your Support team if you need help.
For common performance issues, it's likely that Support already knows which area is affected. For example, following are several major Waveset systems and which areas to trace:
Process Level Profiling data. You must sometimes gather profiling data using native tools on the server or resource having issues.
For UNIX: Invoke the top command from the command line to view a list of all processes with their CPU and memory consumption.
For Windows: Type Control—Alt—Del, click Task Manager to open the Windows Task Manager dialog. Select the Processes tab to view a list of all processes with their CPU and memory consumption. Alternatively, you can launch the Windows Task Manager by right-clicking the Task Bar and selecting Task Manager.
Query Timer data. This utility facilitates connecting to Waveset's back-end repository and allows you to issue JDBC SQL statements directly to the database. As the name suggests, this utility times statements issued to the repository SQL database.
When you have performance issues, the Query Timer can check the performance of specific SQL statements or check connectivity using the JDBC connection that Waveset uses from a command line. The Query Timer uses the JDBC driver, user, and password configured for Waveset.
The Query Timer utility has been hard coded to use the default Configurator authentication. If you modified Configurator, you will not be able to run the Query Timer in your environment.
You invoke the Query Timer from the command line, by using a $WSHOME/bin/lh script. The following example is for a UNIX system. If necessary, modify the script appropriately for Windows.
sh ${WSHOME}/bin/lh com.waveset.repository.QueryTimer [ sql statement ] |
Issue this script with no options to perform a query that summarizes the statistics of each object type in the repository. You can use this query to determine the size of the objects in the database.
If you are running Waveset 7.0, this script outputs additional information for every 1000th object of each object type in the repository, such as:
Type
numObjects
numAttrVals
objectBytes
attrBytes
objIdxBytes
attrIdxBytes
Show Timings data. The Method Timings page (debug/Show_Timings.jsp) enables you to determine at a glance which processes are being run most frequently. You might use this page instead of the Call Timings page if you are only interested in a quick view of the processes being run, and where an in-depth investigation is not likely to be necessary.
For the best results, click the Clear ALL button and then perform the action that is causing poor performance. After checking the page results, save the HTML page from the JSP and send the page to Support.
See Method Timings (Show_Timings.jsp) for more information.