Extensible Verbose Toolkit functionality
IBM® SDK, Java™ Technology Edition, V6 Extensible Verbose Toolkit functionality
This presentation covers the functionality of the Extensible Verbose Toolkit, a graphical user interface for analyzing garbage collection data.
Agenda
Agenda Extensible Verbose Toolkit functionality Overview Architecture Features
First, this presentation will provide an overview of the Extensible Verbose Toolkit and its architecture. You will also learn about the plotting and reporting features in the tool.
Toolkit functionality
Toolkit functionality Section
This portion of the presentation will briefly walk you through the Extensible Verbose Toolkit’s functionality.
Extensible Verbose Toolkit overview
Extensible Verbose Toolkit overview The Extensible Verbose Toolkit is a graphical tool for visualizing for verbose garbage collection data The tool parses and plots verbose GC logs and garbage collection traces Processes data from all IBM® SDKs, version 1.4.2 or higher The toolkit provides Raw view of data Line plots to visualize a variety of GC data characteristics Tabulated reports with heap occupancy recommendations View of multiple datasets on a single set of axes Ability to save data as an image (jpeg) or comma separated file (CSV)
The Extensible Verbose Toolkit allows you to visualize your garbage collection data, as raw datasets, line plots, reports, and images. It can parse and plot data from all IBM SDKs, version 1.4.2 or higher. The “Line plot” portion of the tool displays graphs of over forty different garbage collection data characteristics – including used heap, pause times, and the reason for garbage collection being triggered. You can read in multiple sets of garbage collection logs and display them together on a single set of axes, which allows you to easily compare garbage collection behavior across multiple test runs of an application. The “Report” section of the tool contains a summary of the line plot data, along with information on general garbage collection behavior and heap sizing recommendations based on overall heap occupancy.
Extensible Verbose Toolkit architecture
Extensible Verbose Toolkit architecture Parsers Takes input file and builds common data model Parsers available for VGC and TGC input See available parsers in the Parser menu Post processors Transforms and enriches parsed data Provides recommendations, statistics Updates internal data representation to support pan-and-zoom display See available processors in the Postprocessor menu
The Extensible Verbose Toolkit, as its name implies, has been designed to be extensible. The core of the toolkit is componentized, and communicates with the viewer, which is where you will be able to see and interact with your data. The core consists of three types of components: parsers, post processors, and displayers. Parsers take input files – like verbose GC logs – and convert them into a form that the Extensible Verbose Toolkit can understand. The toolkit has parsers for trace data and verbose garbage collection data. Version 1.0.2 has built-in parsers for verbose GC 5.0 and later, verbose GC 1.4.2 and earlier, realtime verbose GC, Solaris only verbose GC, and traces. You can see all of the available parsers in the Parsers menu in the Extensible Verbose Toolkit workbench. If there are some parsers that you will not need to use, you can turn them off in the Parsers menu. Post processors take parsed data and manipulate it. For example, they produce statistics on the data, truncate data sets to a more manageable size, or provide extra analysis and insight into the data. Disabling a post processor can reduce the number of menu items available or alter the data being displayed. The Extensible Verbose Toolkit has several built-in post processors, including the limit adjuster and verbose GC derived data and summary. These processors can be configured in the tool’s Postprocessor menu.
Extensible Verbose Toolkit architecture
Extensible Verbose Toolkit architecture Displayers Renders parsed data in a useful format HTML report, text data, line plot See available displayers in the Displayers menu Viewer Requires a displayer Presents text and graphical data in the Eclipse Rich Client Platform Provides interactive features and display options
Displayers take parsed data and represent it in a useful form. For example, they turn data into tables, reports, and charts. The Extensible Verbose Toolkit has several built-in displayers that can be configured in the Displayers menu in the workbench. These include line plots, HTML reports, text data, and comma separated data. The Viewer component, which is where you can see and interact with your garbage collection data, is built on the Eclipse Rich Client Platform. It communicates with the displayer components in the core of the toolkit to be able to display graphs, pan and zoom in your data set, show reports, and more.
Plotting data with the toolkit
Plotting data with the toolkit The Line plot tab contains the data visualization The VGC Data menu allows you to choose what data to display Use File > Open to open a new input file Use File > Compare File… to add multiple input files to a single data set for comparison and aggregated display The Axes panel supports customized units and pan-and-zoom Right-click on the plot and use the context menu to export data
This is an example of what the Extensible Verbose Toolkit looks like in action. This graph shows the GC cycle pause times for three test runs of the same application, all using the generational concurrent garbage collection policy. All of the plots for your dataset will be displayed in the Line plot tab. To read in a new file, use the File > Open menu in the upper right of the workbench. If you would like to load in multiple input files to compare on a single set of axes, use the File > Compare File… option to add more files to your data set. There are over forty data characteristics that you can display in your line plot; these can be controlled in the VGC Data menu. If you would like to save a copy of the line plot, right-click anywhere on the plot, and you will see a context menu that allows you to save the plot as an image file.
Reports and recommendations
Reports and recommendations Report contents can be configured using VGC menu options Occupancy recommendations tell you how to adjust heap size for better performance Summary information is generated for each input in the dataset Graphs included for all GC display data Can export as HTML by right-clicking and using the context menu The Report tab contains the report for the current dataset
The Report tab contains the report for your current dataset, including overall garbage collection summary statistics, graphs, and any other data that you have configured in the tool’s menus. If you want to see tuning recommendations, be sure to enable the Tuning recommendation option in the VGC menu. By enabling this feature, your report describes your overall heap occupancy, provides recommendations on heap sizing and which garbage collection policy to use, and lets you know whether it looks like your application is leaking any memory. You can export an HTML version of your report by right-clicking in the report display and using the context menu to save it as a file.
Types of graphs
Types of graphs The toolkit has built-in support for over forty different types of graphs These are configured in the VGC Data menu Options vary depending on the current dataset and the parsers and post-processors that are enabled Some of the VGC graph types are: Note: Different graph types and a different menu are available for TGC output Free tenured heap (after collection) Tenured heap size Tenure age Free LOA (after collection) Free SOA (after collection) Total LOA Total SOA Used total heap Pause times (mark-sweep-compact collections) Pause times (totals, including exclusive access) Compact times Weak references cleared Soft references cleared
There are over forty data characteristics that you can display in your line plot, but not all of them will be applicable to each file. For example, if you are running with the garbage collection policy that is optimized for average pause times, it would not make sense for you to look at nursery heap or tenured heap behavior, because those ideas only apply when using the generational concurrent garbage collection policy. Similarly, options in the VGC Data menu can vary depending on the processors and post-processors that you have enabled. If you do not have the VGC Summary postprocessor turned on, for instance, you will not be able to see summary information or tuning recommendations for your dataset.
Summary and references
Summary and references Section
This section contains a summary and links to references.
Summary
Summary Extensible Verbose Toolkit Graphical user interface for visualizing garbage collection output Provides graphs, reports, and configuration recommendations
The Extensible Verbose Toolkit is a graphical tool for visualizing garbage collection data. It is built on top of a core architecture of parsers, postprocessors, and displayers, which communicate with an interactive viewer that runs on the Eclipse Rich Client Platform. The interface provides line plots for over forty GC data characteristics, summary reports, and general tuning recommendations.
References
References IBM Support Assistant http://www-306.ibm.com/software/support/isa/ Diagnostics Guide http://publib.boulder.ibm.com/infocenter/javasdk/v6r0/index.jsp developerWorks® articles about garbage collection http://www-128.ibm.com/developerworks/java/library/j-ibmjava2/ http://www-128.ibm.com/developerworks/java/library/j-ibmjava3/
This slide lists some references
Feedback
Feedback Your feedback is valuable You can help improve the quality of IBM Education Assistant content to better meet your needs by providing feedback. Did you find this module useful? Did it help you solve a problem or answer a question? Do you have suggestions for improvements? Click to send e-mail feedback: mailto:iea@us.ibm.com?subject=Feedback_about_Java6_EVTK_Function.ppt This module is also available in PDF format at: ../Java6_EVTK_Function.pdf
You can help improve the quality of IBM Education Assistant content by providing feedback.
Trademarks