@Override public void collect(final StackTraceElement[] stackTrace) { if (samples == null) { samples = SampleNode.createSampleNode(stackTrace); } else { SampleNode.addToSampleNode(samples, stackTrace); } }
@Override public void add(final StackTraceElement[] sample) { synchronized (sync) { if (sampleNode == null) { sampleNode = SampleNode.createSampleNode(sample); } else { SampleNode.addToSampleNode(sampleNode, sample); } } }
@Nullable public static SampleNode createFakeGCSamples(final long prevGCTimeMillis, final long gcTimeMillis, final long stMs) { if (gcTimeMillis > prevGCTimeMillis) { int fakeSamples = (int) ((gcTimeMillis - prevGCTimeMillis) / stMs); if (fakeSamples > 0) { SampleNode node = SampleNode.createSampleNode(GC_FAKE_STACK); for (int i = 0; i < fakeSamples; i++) { // can be optimized SampleNode.addToSampleNode(node, GC_FAKE_STACK); } return node; } else { return null; } } else { return null; } }
/** * Creates new form StackDumpJInternalFrame */ public StackDumpJInternalFrame(final SampleNode samples, final String title, final boolean isgraph) { super(title); setName(title); initComponents(); if (samples == null) { this.samples = SampleNode.createSampleNode( new StackTraceElement[]{new StackTraceElement("NO SAMPLES", "", "", -1)}); } else { this.samples = samples; } setViewType(isgraph); ssScrollPanel.setVisible(true); pack(); }
private SampleNode testSample() { StackTraceElement[] st1 = new StackTraceElement[3]; st1[0] = new StackTraceElement("C1", "m1", "C1.java", 10); st1[1] = new StackTraceElement("C1", "m2", "C1.java", 11); st1[2] = new StackTraceElement("C1", "m3", "C1.java", 12); SampleNode node = SampleNode.createSampleNode(st1); StackTraceElement[] st2 = new StackTraceElement[1]; st2[0] = new StackTraceElement("C1", "m1", "C1.java", 10); SampleNode.addToSampleNode(node, st2); StackTraceElement[] st3 = new StackTraceElement[3]; st3[0] = new StackTraceElement("C2", "m1", "C2.java", 10); st3[1] = new StackTraceElement("C2", "m2", "C2.java", 11); st3[2] = new StackTraceElement("C2", "m3", "C2.java", 12); SampleNode.addToSampleNode(node, st3); StackTraceElement[] st4 = new StackTraceElement[3]; st4[0] = new StackTraceElement("C1", "m1", "C1.java", 10); st4[1] = new StackTraceElement("C1", "m2", "C1.java", 11); st4[2] = new StackTraceElement("C1", "m4", "C1.java", 14); SampleNode.addToSampleNode(node, st4); return node; }
st1[1] = new StackTraceElement("C1", "m2", "C1.java", 11); st1[2] = new StackTraceElement("C1", "m3", "C1.java", 12); SampleNode node1 = SampleNode.createSampleNode(st1); SampleNode node2 = new SampleNode(st1, st1.length - 1); LOG.debug("Node 1", node1);