IBM®
Skip to main content
    United States change      Terms of use
 
 
Select a scope:    
     Home      Products      Services & industry solutions      Support & downloads      My account     
alphaWorks  >  Java technology  >  

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
Overview Requirements DownloadFAQsForum Reviews

1. What releases of PEX data are supported by the current version of PTDV?
2. I started a new PTDV run and it seems to take a very long time to progress. How can I find out the problem?
3. How can I set Java properties to enable hooks with the JIT?
4. How do I know what mode (Thin Client, Thick Client, or Three Tier) I should run in?
5. Is there a way to save my data?
6. What causes the Error loading PEX data: class com.ibm.as400.access.AS400JDBCException The application requester cannot establish the connection. message?
7. When processing Trace Profiles (TProf), how do I see the details for a procedure?
8. In a TProf, how do I eliminate the procedures or methods with an insignificant number of hits?
9. How do I compare two Tprofs?
10. What is the caller ancestor tree and what do the hit counts mean?
11. Why aren't there statement numbers for JITed Java code?
12. How can I view my hit count data as a percent?
13. How do I view procedure details from a Tprof comparison?
14. Why are there so many normalization and delta combinations on a Tprof comparison?
15. I have a Tprof collection containing call stack data. How can I view this information?


1. What releases of PEX data are supported by the current version of PTDV?

The current version of PTDV supports collections generated on i5/OS V5R4 and V5R3 and OS/400 V5R2.
Back to top Back to top

2. I started a new PTDV run and it seems to take a very long time to progress. How can I find out the problem?

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.
Back to top Back to top

3. How can I set Java properties to enable hooks with the JIT?

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

Back to top Back to top

4. How do I know what mode (Thin Client, Thick Client, or Three Tier) I should run in?

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.

Back to top Back to top

5. Is there a way to save my data?

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.
Back to top Back to top

6. What causes the Error loading PEX data: class com.ibm.as400.access.AS400JDBCException The application requester cannot establish the connection. message?

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.
Back to top Back to top

7. When processing Trace Profiles (TProf), how do I see the details for a procedure?

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.
Back to top Back to top

8. In a TProf, how do I eliminate the procedures or methods with an insignificant number of hits?

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.
Back to top Back to top

9. How do I compare two Tprofs?

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.
Back to top Back to top

10. What is the caller ancestor tree and what do the hit counts mean?

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.
Back to top Back to top

11. Why aren't there statement numbers for JITed Java code?

This information is not provided in the PEX data.
Back to top Back to top

12. How can I view my hit count data as a percent?

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.
Back to top Back to top

13. How do I view procedure details from a Tprof comparison?

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.
Back to top Back to top

14. Why are there so many normalization and delta combinations on a 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.
Back to top Back to top

15. I have a Tprof collection containing call stack data. How can I view this information?

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.

Back to top Back to top
Download now Download now

Related technologies

For platform(s):
Multi-Platform

For topics:
analysis, performance


 

    About IBM Privacy Contact