Performance Trace Data Visualizer for System i
A tool for processing, analyzing, and viewing Performance Explorer (PEX) Collection data residing in PEX database files for System i.
Date Posted: April 15, 1999
|
|
 |
 |
|
 |  The current version of PTDV supports collections generated on i5/OS V5R4 and V5R3 and OS/400 V5R2. | | |
 |  There are some errors that can occur on client or server which are not being detected appropriately. If your PTDV window has been up for quite a while, but no progress is being made, check the command prompt window to determine if some type of exception has occurred. | | |
 |  In order to generate entry/exit hooks in Java code executed by the JIT compiler, you must set the property
os400.enbpfrcol=1. It is sometimes useful to force code to run in the JIT by also specifying the property java.compiler=jitc.
The method of setting properties depends on how you are running your Java program:
- When using the
JAVA or RUNJVA CL programs:
JAVA CLASS(MyClass) PROP((java.compiler jitc) PROP((os400.enbpfrcol 1))
|
- When using the
java command from QSH:
java -Djava.compiler=jitc -Dos400.enbpfrcol=1 MyClass
|
- For WebSphere Application Server, add the following to the generic JVM arguments for the application server's process definition:
-Djava.compiler=jitc -Dos400.enbpfrcol=1
|
If none of the other options work, you can create (or add to) a default properties file. This file should be named SystemDefault.properties and should be placed in the directory /QIBM/UserData/Java400/ or in the user home directory for the user running the Java program. Add the following lines to this file:
java.compiler=jitc
os400.enbpfrcol=1
|
| | |
 |  The answer to this question depends on the size of your collection, the type of processing you are doing, the processing time you'd like for your collection, and whether or not you want to impact the system you are running on.
When doing Quick View summarization processing, any mode should work well. Thick Client is generally the simplest method to use in this case.
When doing full trace processing, consider the following points:
- Thick Client (client processing only) should be used only on collections with 200,000 or fewer events.
- Thin Client (lots of server processing) will run on the server system and, therefore, might affect the performance of that system.
- Three Tier can handle large collections and won't affect the database server system, but it will run more slowly than Thin Client.
For further details, please see the section on "Modes of Operation" in the user's guide. | | |
 |  There are two ways to save table data in a spreadsheet-ready format. First, you can click on the button labeled Copy to Clipboard. This action will copy the data from the currently-focused table into the clipboard, using commas as delimiters. This data can then be pasted into a spreadsheet. The Export Table button can also be used to save the current table in a file on your client. | | |
 |  The client machine is unable to communicate with the system specified in the "Load PEX data" dialog box. Ensure that you are using the correct system name and that the host servers are running on that machine. | | |
 |  From the procedure summary pane, or "bucketized" summary pane, select a procedure from the table and double-click on it. The Procedure Detail Frame for that procedure will then be generated. | | |
 |  Set the filter value on the initial options window. This number is treated as a percent; that is, if you enter a 1 in this field then all entries making up less than 1% of the total number of hits will be omitted from the displayed results. A good value to start with is 0.5, which filters out all entries with fewer than 0.5% of the total hits. | | |
 |  Enter all the information about the first Tprof as you normally would in the "Load PEX Data" dialog box. Instead of clicking on the button labeled Start Processing, you must click on the Compare Collections button. This will bring up another window where you can enter the information about the second collection. Note that the second collection can be from any i5/OS release supported by PTDV and the two collections can be on different systems. | | |
 |  The caller ancestor tree is an attempt to provide a view of the potential call stack for the entries found in a Tprof collection. By default, each PMCO event contains information about a specific procedure or method, along with the address from the link register at the time the event was generated. This address can be resolved to provide the "caller" of the current entry. PTDV can link the caller information from multiple events to generate a more complete call stack. However, the initial entry (that is, the procedure where the hit occurred) might have many hits in the collection, whereas the calling procedure might have very few. In addition, when walking back to find the callers for the caller when attempting to build the call stack, there is no way to know whether these three entries were actually all on the same call stack. So it is possible that this potential call stack is not accurate, although in most cases it is. | | |
 |  This information is not provided in the PEX data. | | |
 |  All hit count columns are percent-rendered columns. This means they will initially appear as a column containing a numeric value and a bar that represents the percent of the corresponding total that the value makes up. When a column contains a bar, you can right-click on the heading for that column and convert all the values in that column over to a percent number. See the section in the documentation on deltas and normalization for information on the base values used for percent columns. | | |
 |  Currently, the only way to see the procedure details for a procedure is to find the individual Tprof and double-click on that procedure there. The individual Tprof collections can be viewed by clicking on the appropriate button on the initial pane of the Tprof comparison. | | |
 |  The purpose in providing several options was to allow users to select the ones that make the most sense for their situation. Through the use of the Show/Hide button, columns can be added and removed, resulting in only the columns the user wants to see. Please remember the following points:
- Normalization means that the second collection is "normalized" by a specific factor. All hit counts in the second collection are multiplied by a value. The time and hit count normalizations are computed by PTDV each time; the "throughput" normalization uses user input to determine the correct normalization factor. The first collection is used as the base collection and is never normalized.
- Deltas are the difference between the first and second collection. A positive delta indicates that there was an increase between the first and second collection. These columns are percent-rendered columns, meaning they show a bar that represents a percent value. The base for the percent depends on whether it is a "plain" delta or an "over increase" delta. A plain delta uses the total hit count from the first collection as its base when computing a percent value. An "over increase" delta uses the total delta as its base for any percent values. Depending on your situation, one may be more useful or meaningful than the other.
| | |
 |  The best way to make use of the call stack information in a Tprof collection is to start out viewing it as a regular Tprof. Go to the Tprof by the Procedure/Method pane in order to find the top hitters in the collection. If the AnalyzeCallStack option was selected, then on this pane you also see Stack Hit Count values, which provide a view of the top cumulative procedures or methods.
If you are interested in procedures with high hit counts, select one of the top procedures based on hit count value. If you are interested in procedures with high cumulative hit counts, sort on the Stack Hit Count column to find the top cumulative procedures. Select a procedure and double-click on it. This will result in the generation of a Tprof Detail Frame for the selected procedure. This frame contains several panes of information for this procedure.
The second pane contains a view of all the call stacks for the current procedure or method while it was executing. If the Show Call Stack Addresses option was selected, then the instruction address of the call stack entries will be displayed in this pane. If this option was not selected, then only the procedure or method name for the call stack entries will be displayed.
The last pane of the Tprof Detail Frame contains the set of all callees for the current procedure or method, based on the call stack information that was available in the collection. This pane will appear only if the stack hit count for the current procedure was non-zero. This pane shows all entries that appeared beneath it in the set of call stacks that were present in the collection. | |
|
|
 |
|
| |