2013-04-12 17 views
9

Ich war Untersuchung mit einer HPROF-Datei mit Eclipse Memory Analyzer (MAT) zu analysieren. Der Dominator-Baum, Berichte und die OQL-Schnittstelle sehen wirklich gut aus. Dies alles muss jedoch manuell über die MAT-Software erfolgen.analysieren Sie eine HPROF-Speicherauszugsdatei von der Befehlszeile programmgesteuert

Gibt es eine Befehlszeilenschnittstelle, damit ich das HPROF programmatisch parsen kann und benutzerdefinierte Berichte automatisch erzeugen kann.

Dies wäre nützlich, um eine Testinfrastruktur für eine automatische Speicheranalyse zu integrieren.

Btw, die Heapsize wird zwischen 10-60MB sein.

+1

Ist das nicht [ParseHeapDump.sh] (http://wiki.eclipse.org/index.php/MemoryAnalyzer/FAQ)? –

+0

Yup, danke dafür. Ich wusste nichts davon. Haben Sie eine Follow-up-Frage, Wie parsen Sie die Indexdatei, die generiert wird? Möchten Sie eine benutzerdefinierte Analyse ausführen. – Abhishek

+0

Ich werde meinen Kommentar in den Abschnitt der Antwort verschieben, da Sie genau danach gesucht haben. Wenn Sie die benutzerdefinierte Analyse genauer ausführen, können wir Ihnen helfen. –

Antwort

3

ParseHeapDump.sh macht, wonach Sie suchen. Wie für die Follow-up-Frage bin ich nicht sicher, welches Format der Indexdateien in gespeichert sind.

+0

Hier ist die benutzerdefinierte Analyse, die ich möchte, von Paketname Heap-Auslastung, in einem Format, das in einer Datenbank gespeichert oder als CSV gespeichert werden kann. – Abhishek

+0

Es gibt eine Exportoption im Dominator-Baumfenster, die es Ihnen ermöglicht, nach 'HTML' /' CSV'/'TXT' zu exportieren. Ich weiß, dass das keine direkte Antwort auf deine Frage ist, aber es ist das Beste, was ich habe. Die Dateien können zwar in einer Befehlszeile geparst werden, um das zu tun, was Sie fragen, aber ich kenne den technischen Pfad, der das erreicht, nicht. –

+0

Versucht ParseHeapDump.sh (ssh'd zu großen Linux-Server), scheitert sofort mit "GTK + kann nicht initialisiert werden", sieht aus wie es denkt, es spricht mit einer Benutzeroberfläche (??) –