package org.araqne.logdb.hprof;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.araqne.logdb.DriverQueryCommand;
import edu.tufts.eaftan.hprofparser.parser.HprofParser;
public class JmapCommand extends DriverQueryCommand {
private String path;
public JmapCommand(String path) {
this.path = path;
}
@Override
public String getName() {
return "jmap";
}
@Override
public void run() {
HprofParser parser = new HprofParser(new JmapRecordHandler(this));
FileInputStream fs = null;
DataInputStream in = null;
try {
fs = new FileInputStream(path);
in = new DataInputStream(new BufferedInputStream(fs));
parser.parse(in);
} catch (IOException e) {
throw new IllegalStateException(e);
} finally {
if (in != null) {
try {
in.close();
} catch (Throwable t) {
}
}
if (fs != null) {
try {
fs.close();
} catch (Throwable t) {
}
}
}
}
@Override
public String toString() {
return "jmap " + path;
}
}