@Test public void testPrintCmsStatisticsConcurrentPreclean() throws Exception { ByteArrayInputStream in = new ByteArrayInputStream( ("2012-10-20T18:04:57.850+0200: 1.329: [CMS-concurrent-preclean: 0.002/0.002 secs] (CMS-concurrent-preclean yielded 0 times)" + "\n [Times: user=0.00 sys=0.00, real=0.00 secs]") .getBytes()); final DataReader reader = new DataReaderSun1_6_0(in, GcLogType.SUN1_6); GCModel model = reader.read(); assertEquals("GC count", 1, model.size()); assertEquals( "concurrent time", 0.002, model.getConcurrentEventPauses().values().iterator().next().getMin(), 0.000000001); }
@Test public void testPrintCmsStatisticsParNewBeforeRemark2() throws Exception { ByteArrayInputStream in = new ByteArrayInputStream( ("2012-10-20T18:05:00.083+0200: 3.556: [GC 3.556: [ParNew: 78624K->8688K(78656K), 0.0302267 secs] 451513K->438445K(515584K), 0.0302972 secs] [Times: user=0.13 sys=0.00, real=0.03 secs]" + "\n [11 iterations, 6 waits, 7020 cards)] 2012-10-20T18:05:00.114+0200: 3.587: [CMS-concurrent-abortable-preclean: 0.024/0.391 secs] (CMS-concurrent-abortable-preclean yielded 0 times)" + "\n [Times: user=0.61 sys=0.06, real=0.39 secs]") .getBytes()); final DataReader reader = new DataReaderSun1_6_0(in, GcLogType.SUN1_6); GCModel model = reader.read(); assertEquals("GC count", 2, model.size()); assertEquals("GC pause", 0.0302972, model.getGCPause().getMax(), 0.0000001); assertEquals( "concurrent time", 0.024, model.getConcurrentEventPauses().values().iterator().next().getMin(), 0.000000001); }
@Test public void testPrintCmsStatisticsParNewBeforeRemark() throws Exception { ByteArrayInputStream in = new ByteArrayInputStream( ("2012-10-20T18:04:59.412+0200: 2.897: [GC 2.897: [ParNew [15 iterations, 8 waits, 4115 cards)] 2012-10-20T18:04:59.443+0200: 2.917: [CMS-concurrent-abortable-preclean: 0.031/0.593 secs] (CMS-concurrent-abortable-preclean yielded 0 times)" + "\n [Times: user=0.66 sys=0.00, real=0.59 secs]" + "\n: 78624K->8686K(78656K), 0.0203494 secs] 424271K->384820K(515584K), 0.0204543 secs] [Times: user=0.13 sys=0.00, real=0.03 secs]") .getBytes()); final DataReader reader = new DataReaderSun1_6_0(in, GcLogType.SUN1_6); GCModel model = reader.read(); assertEquals("GC count", 2, model.size()); assertEquals("GC pause", 0.0204543, model.getGCPause().getMax(), 0.0000001); assertEquals( "concurrent time", 0.031, model.getConcurrentEventPauses().values().iterator().next().getMin(), 0.000000001); }
@Test public void testPrintCmsStatisticsConcurrentModeFailure() throws Exception { ByteArrayInputStream in = new ByteArrayInputStream( ("2012-10-20T18:04:58.147+0200: 1.621: [GC 1.621: [ParNew: 78631K->78631K(78656K), 0.0000164 secs]1.621: [CMS [9 iterations, 5 waits, 5367 cards)] 2012-10-20T18:04:58.147+0200: 1.621: [CMS-concurrent-abortable-preclean: 0.020/0.292 secs] (CMS-concurrent-abortable-preclean yielded 0 times)" + "\n [Times: user=0.30 sys=0.23, real=0.30 secs]" + "\n (concurrent mode failure): 402265K->61915K(436928K), 0.0394420 secs] 480896K->61915K(515584K), [CMS Perm : 2626K->2625K(65536K)], 0.0395686 secs] [Times: user=0.03 sys=0.00, real=0.03 secs]") .getBytes()); final DataReader reader = new DataReaderSun1_6_0(in, GcLogType.SUN1_6); GCModel model = reader.read(); assertEquals("GC count", 2, model.size()); assertEquals("failure pause", 0.0395686, model.getFullGCPause().getMax(), 0.0000001); assertEquals( "concurrent time", 0.02, model.getConcurrentEventPauses().values().iterator().next().getMin(), 0.000000001); }