blob: 57a494f897bcf120b24034b381660305e3c8a1de [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.mat.api" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appInfo>
<meta.schema plugin="org.eclipse.mat.api" id="heapDumpProvider" name="Heap Dump Provider"/>
</appInfo>
<documentation>
The Acquire Heap Dump menu option allows the user to request a heap dump on a local running Java process. This extension point allows the retrieval of a list of running VMs of a particular type, and the triggering of a dump on one of those processes.
</documentation>
</annotation>
<element name="extension">
<annotation>
<appInfo>
<meta.element />
</appInfo>
</annotation>
<complexType>
<sequence minOccurs="0" maxOccurs="unbounded">
<element ref="provider"/>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
</documentation>
<appInfo>
<meta.attribute translatable="true"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="provider">
<complexType>
<attribute name="impl" type="string" use="required">
<annotation>
<documentation>
implements &lt;a href=&quot;org/eclipse/mat/snapshot/acquire/IHeapDumpProvider.html&quot;&gt;&lt;code&gt;org.eclipse.mat.snapshot.acquire.IHeapDumpProvider&lt;/code&gt;&lt;/a&gt;.
</documentation>
<appInfo>
<meta.attribute kind="java" basedOn=":org.eclipse.mat.snapshot.acquire.IHeapDumpProvider"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appInfo>
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
The value of the impl attribute must represent an implementor of &lt;samp&gt;org.eclipse.mat.snapshot.acquire.IHeapDumpProvider&lt;/samp&gt;.
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="since"/>
</appInfo>
<documentation>
1.0
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="examples"/>
</appInfo>
<documentation>
The following is an example of a heap dump provider declaration;
&lt;pre&gt;
&lt;extension
name=&quot;IBM Virtual Machines&quot;
point=&quot;org.eclipse.mat.api.heapDumpProvider&quot;&gt;
&lt;provider
impl=&quot;org.eclipse.mat.ibmvm.acquire.DumpFactory&quot;&gt;
&lt;/provider&gt;
&lt;/extension&gt;
&lt;/pre&gt;
The dump provider must implement &lt;code&gt;org.eclipse.mat.snapshot.acquire.IHeapDumpProvider&lt;/code&gt;.
Argument annotations can be used to specify arguments to be filled in by the user.
&lt;pre&gt;
@Name(&quot;My Dump type&quot;)
public class MyDumpProvider implements org.eclipse.mat.snapshot.acquire.IHeapDumpProvider
{
@Argument
File dumpingProgram;
&lt;/pre&gt;
Argument annotations can also be used on VmInfo types.
&lt;pre&gt;
public class MyVmInfo extends VmInfo
{
public enum DumpType
{
DUMP1(&quot;dump1&quot;), //$NON-NLS-1$
Dump2(&quot;dump2&quot;); //$NON-NLS-1$
String type;
private DumpType(String s) {
type = s;
}
}
@Argument
public DumpType type = DumpType.DUMP1;
&lt;/pre&gt;
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="implementation"/>
</appInfo>
<documentation>
The standard supplied heap dump providers are for Oracle/Sun JVMs and for IBM Virtual Machines for Java. They are &lt;code&gt;org.eclipse.mat.hprof.acquire.JMapHeapDumpProvider&lt;/code&gt; and &lt;code&gt;org.eclipse.mat.ibmvm.acquire.DumpFactory&lt;/code&gt; (actually an IExecutableExtensionFactory).
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="copyright"/>
</appInfo>
<documentation>
Copyright (c) 2010,2011 SAP AG and IBM Corporation&lt;br&gt;
All rights reserved. This program and the accompanying materials are made
available under the terms of the Eclipse Public License 2.0 which
accompanies this distribution, and is available at
&lt;a href=&quot;https://www.eclipse.org/legal/epl-2.0/&quot;&gt;https://www.eclipse.org/legal/epl-2.0/&lt;/a&gt;
</documentation>
</annotation>
</schema>