ProfileViewer Menus

Table of Contents

Back to Main Page

Profile Menu

New Window

Opens another independent ProfileViewer window.

Load...

Opens the FileDialog to let you choose a profile file to load. Note that if you change directories with this dialog and you have not modified the classpath environment variable, the java interpreter will start generating exceptions.

Close Window

Closes the current window. If the last open window is closed, the VM is quit.

About...

Displays a dialog box with contact information for Greg and myself. Greg no longer works on PV, so while you can certainly send thanks to him, any questions about the latest versions should be sent to me.

Help...

Displays this file in a separate window.

License...

Displays the GNU General Public License under which ProfileViewer is released.

Exit

Closes the application

Method Menu

Sort...

Brings up the sort dialog to let you sort the methods.

Find...

Brings up the find dialog.

Find next

Repeats the last find.

Go To Callee

"Goes to" the currently selected callee. Makes the currently selected callee the currently selected method so that you can see its callees and callers.

Sort Callee...

Brings up the sort dialog to let you sort the callees.

Go To Caller

"Goes to" the currently selected caller. Makes the currently selected caller the currently selected method so that you can see its callees and callers.

Sort Caller...

Brings up the sort dialog to let you sort the callers.

Options Menu

Exclude Methods

Brings up a dialog that lets you exclude methods from being displayed in the list. This can be useful for large profile files, which can contain lots of method calls in which the user is not interested.
Clicking on the "Add" Button adds a new entry to the exclusion list. Enter a string, which will be matched against the beginning of the method call; if there is a match, the method will not be displayed. Note that package names are displayed as, e.g., "java/lang", not "java.lang". Entering "javax/swing" will prevent all Swing methods from being displayed, entering "java" will suppress all java.* and javax.* methods. Individual methods ("java/lang/StringBuffer/append") can be entered as well. This only affects the display, not the calculations.
Note that now the percentages won't add up to 100% any more. If you want only the displayed method to figure into the percentage calculation, check the "Percentages add up to 100%" check box.
If you check the "is Regexp" check box next to the match string, regular expression matching will be used instead of plain string comparison. Note that this matches anywhere, not just at the beginning of a method name, as the normal string search does.
Clicking "Delete" removes the currenty selected entry from the list.
Can also be set at startup via the ProfileViewer.methodsToExclude and the ProfileViewer.percentagesAddTo100 properties.

Show Numbers as Percent

Toggles between the display of absolute numbers and percentages as described in the section about the screen. If you exclude methods, percentages will add up to 100% only if you check the respective check box in the Exclude dialog.
This used to be called "Toggle Numbers"; by default it still displays percentages.
Can also be set at startup via the ProfileViewer.showNumbersPercent property.

Include Callee Times

The time spent in a method that are reported in the profiling output include the time spent in all subroutines called from that method. Sometimes it's more interesting to know the time spent exclusively in a method, w/o the subroutines. In that case, uncheck this option and reload the profile. This option is set by default (which corresponds to the way ProfileViewer used to work).
Can also be set at startup via the ProfileViewer.includeCalleeTimes property.

Decode Method Names

Displays the method names the way they are defined, with the parameters and return types in clear text, e.g. java/lang/Double.doubleToLongBits(double): long instead of java/lang/Double.doubleToLongBits(D)J. This option is set by default.
Can also be set at startup via the ProfileViewer.decodeMethodNames property.

Add Method to Callees

Adds the selected method to the list of its callees. That way one can see (in percent mode) how much time is spent in the method itself, compared to the callees. This option is not set by default.
Can also be set at startup via the ProfileViewer.addSelfToCallees property.

Use AWT File Dialog

If this menu item is checked, ProfileViewer will use an AWT FileDialog instead of a Swing JFileChooser for the "Load..." dialog. I've come to find the Swing dialog annoying, mostly because it's slow and sorts the files in a case-sensitive way, but that's a personal preference. This option is not set by default.
Can also be set at startup via the ProfileViewer.useAWTFileDialog property.

Use Browser for Help

This option is applicable to Mac users only, who are running at least MRJ version 2.2. If set, the user's preferred browser is used to display the documentation under the "Profile/Help..." menu, instead of the much slower Swing HTML viewer. This option is set by default.
Can also be set at startup via the ProfileViewer.useBrowserForHelp property.

Exclude Recursive Calls

When set, recursive method calls (i.e., a method calling itself) are ignored. Profiling data is sometimes flaky for recursive calls. The switch only works for direct recursion, not for indirect recursion. This option is not set by default; in contrast to all other options, it does not affect loaded profiles, only ones loaded after the option has been changed.
Can also be set at startup via the ProfileViewer.excludeRecursiveCalls property.
Back To Main Page