package org.gridkit.jvmtool.stacktrace.analytics; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; import java.io.StringWriter; import org.gridkit.jvmtool.stacktrace.StackTraceCodec; import org.gridkit.jvmtool.stacktrace.StackTraceReader; import org.gridkit.jvmtool.stacktrace.analytics.flame.FlameGraphGenerator; import org.junit.Test; public class FlameCheck { public StackTraceReader read() throws FileNotFoundException, IOException { String file = "src/test/resources/jboss-10k.std"; return StackTraceCodec.newReader(new FileInputStream(new File(file))); } @Test public void check() throws IOException { FlameGraphGenerator fg = new FlameGraphGenerator(); StackTraceReader r = read(); if (!r.isLoaded()) { r.loadNext(); } while(r.isLoaded()) { fg.feed(r.getStackTrace()); r.loadNext(); } StringWriter sw = new StringWriter(); fg.renderSVG("Flame Graph", 1200, sw); FileWriter fw = new FileWriter(new File("target/flame.svg")); fw.append(sw.getBuffer()); fw.close(); } }