Class IBMDumpProvider

java.lang.Object
org.eclipse.mat.ibmvm.acquire.BaseProvider
org.eclipse.mat.ibmvm.acquire.IBMDumpProvider
All Implemented Interfaces:
IHeapDumpProvider
Direct Known Subclasses:
IBMJavaDumpProvider

public class IBMDumpProvider extends BaseProvider
Base class for generating dumps on IBM VMs. This class uses reflection to call the com.ibm or com.sun classes. Be sure to update IBMExecDumpProvider.getExecJar() when any classes are added here.
  • Constructor Details

    • IBMDumpProvider

      public IBMDumpProvider()
  • Method Details

    • acquireDump

      public File acquireDump(VmInfo info, File preferredLocation, IProgressListener listener) throws SnapshotException
      Description copied from interface: IHeapDumpProvider
      Acquire a heap dump from a locally running Java process. The
      Parameters:
      info - a descriptor of the Java process which should be dumped
      preferredLocation - a preferred filename under which the heap dump should be saved. The IHeapDumpProvider is not obliged to provide the heap dump at this location
      listener - a progress listener
      Returns:
      the File under which the successfully generated heap dump is saved
      Throws:
      SnapshotException
    • getAvailableVMs

      public List<IBMVmInfo> getAvailableVMs(IProgressListener listener)
      Description copied from interface: IHeapDumpProvider
      Returns a list of locally running Java processes from which the heap dump provider can attempt to acquire a heap dump
      Parameters:
      listener - a progress listener
      Returns:
      A List of VMs, of a type which extends VmInfo.
      See Also:
    • main

      public static void main(String[] s) throws Exception
      Lists VMs or acquires a dump. Used when attach API not usable from the MAT process.
      Parameters:
      s -
      • [0] dump type (HEAP=heap+java,SYSTEM=system,JAVA=java)
      • [1] VM id = PID
      • [2] true/false live objects only in dump
      • [3] true/false compress dump
      • [4] dump name
      • [5] dump directory (optional)
      List VMs
      • true - attach to VM to get more details
      Output
      • dump filename
      • or list of all processes (if argument list is empty)
        PID;proposed file name;directory;enable dump;description
      Throws:
      Exception