Memory Analyzer is an Eclipse application for solving memory problems
in user applications based on a snapshot of the contents of the heap.
It has several extension points for incorporating additional function. The
main arrangement of plug-ins is as follows, showing dependencies by indentation:
org.eclipse.mat.report
-
Provides report building capabilities.
- query
extension point
- rendering
extension point
- report
extension point
org.eclipse.mat.api
-
Allows access to data from the snapshot, such as objects and
classes. It also holds the standard queries.
Most user-written reports just need access to the api and report plugins.
- snapshot
factory extension point
- trigger
heap dump extension point
- name
resolver extension point for object describing
- request
resolver extension point
- thread
resolver extension point
- ticketResolver
extension point
org.eclipse.mat.parser
-
Controls the parsing of a heap dump into a snapshot, and holds
the implementations of the snapshot objects and indexes.
Parsers for new dump types will use facilities of this plugin.
- parser
extension point
org.eclipse.mat.dtfj
-
Parses IBM DTFJ based dumps.
- Depends on the DTFJ feature from IBM to provide
readers for system dumps, portable heap dump (PHD) files
and Java core files.
- Calls DTFJ extensions from IBM using the DTFJ API
extension point from IBM
org.eclipse.mat.hprof
-
Parses HPROF based dumps.
Also provides an extension for the acquire (trigger) heap dump
extension point to trigger a HPROF dump.
Creates HPROF dumps from OpenJDK VMs running on the system on request for analysis by MAT.
- HPROF
enhancement extension point
org.eclipse.mat.ibmdump
- Creates dumps from other IBM VMs running on the system on
request for analysis by MAT. This can also create HPROF
heap dumps from OpenJDK VMs.
org.eclipse.mat.jdt
- Links classes in the snapshot to class source code in the
Eclipse IDE.
org.eclipse.mat.jruby.resolver
- Displays details of JRuby and Ruby stack traces in
reports using a request solver.
org.eclipse.mat.chart
-
Controls the generation of pie charts.
Used in batch mode to generate PNG charts for
HTML reports.
org.eclipse.mat.chart.ui
-
Displays pie charts in the MAT User Interface.
Also depends on
org.eclipse.mat.ui
org.eclipse.mat.ui
-
The main graphical user interface (GUI) for Eclipse Memory Analyzer.
- contributions
to the editor tool bar extension point
- new
panes for results extension point
org.eclipse.mat.ui.rcp
-
The stand-alone version of MAT uses this plugin.
It is not needed when MAT is installed into an
existing Eclipse IDE.
org.eclipse.mat.ui.help
-
Provides help for Eclipse Memory Analyzer.
Help is written in Darwin Information Typing Architecture (DITA) format and
is converted to HTML as a manual step before being committed to GIT.
Javadoc for the Java source code is automatically built and included
in the help (here), and the Javadoc is also indexed with the Eclipse Help.