Package com.tagtraum.perf.gcviewer.imp

Source Code of com.tagtraum.perf.gcviewer.imp.TestDataReaderSun1_5_0

package com.tagtraum.perf.gcviewer.imp;

import static org.junit.Assert.assertEquals;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;

import org.junit.Test;

import com.tagtraum.perf.gcviewer.model.GCModel;

/**
* Tests some cases for java 1.5 (using DataReaderSun1_6_0).
*
* Date: Jan 30, 2002
* Time: 5:53:55 PM
* @author <a href="mailto:hs@tagtraum.com">Hendrik Schreiber</a>
*/
public class TestDataReaderSun1_5_0 {

    private InputStream getInputStream(String fileName) throws IOException {
        return UnittestHelper.getResourceAsStream(UnittestHelper.FOLDER_OPENJDK, fileName);
    }
   
    /**
     * Test output for -XX:+PrintAdaptiveSizePolicy
     */
    @Test
    public void testAdaptiveSizePolicy() throws Exception {
        final InputStream in = getInputStream("SampleSun1_5_0AdaptiveSizePolicy.txt");
        final DataReader reader = new DataReaderSun1_6_0(in, GcLogType.SUN1_5);
        GCModel model = reader.read();
       
        assertEquals("number of events", 6, model.getPause().getN());
        assertEquals("number of full gcs", 1, model.getFullGCPause().getN());
        assertEquals("number of gcs", 5, model.getGCPause().getN());
        assertEquals("total pause", 0.1024222, model.getPause().getSum(), 0.000001);
        assertEquals("full gc pause", 0.0583435, model.getFullGCPause().getSum(), 0.000001);
        assertEquals("gc pause", 0.0440787, model.getGCPause().getSum(), 0.000001);
    }
   
    @Test
    public void testCMSPrintGCDetails() throws Exception {
        final InputStream in = getInputStream("SampleSun1_5_0CMS_PrintGCDetails.txt");
        final DataReader reader = new DataReaderSun1_6_0(in, GcLogType.SUN1_5);
        GCModel model = reader.read();
       
        assertEquals("size", 515, model.size());
        assertEquals("throughput", 88.2823289184, model.getThroughput(), 0.00000001);
        assertEquals("sum of pauses", model.getPause().getSum(), model.getFullGCPause().getSum() + model.getGCPause().getSum(), 0.0000001);
        assertEquals("total pause", 9.1337492, model.getPause().getSum(), 0.0000001);
        assertEquals("full gc pause", 7.4672903, model.getFullGCPause().getSum(), 0.00000001);
    }

    @Test
    public void testParallelOldGC() throws Exception {
        final InputStream in = getInputStream("SampleSun1_5_0ParallelOldGC.txt");
        final DataReader reader = new DataReaderSun1_6_0(in, GcLogType.SUN1_5);
        GCModel model = reader.read();
       
        assertEquals("size", 1, model.size());
        assertEquals("gc pause", 27.0696262, model.getFullGCPause().getMax(), 0.000001);
    }

    @Test
    public void testCMSIncrementalPacing() throws Exception {
        final InputStream in = getInputStream("SampleSun1_5_0CMS_IncrementalPacing.txt");
        final DataReader reader = new DataReaderSun1_6_0(in, GcLogType.SUN1_5);
        GCModel model = reader.read();

        assertEquals("size", 810, model.size());
        assertEquals("throughput", 94.181240109114, model.getThroughput(), 0.00000001);
        assertEquals("total gc pause", 2.3410947, model.getPause().getSum(), 0.000000001);
        assertEquals("gc pause", 2.3410947, model.getGCPause().getSum(), 0.000000001);
        assertEquals("full gc paus", 0.0, model.getFullGCPause().getSum(), 0.01);
    }

    @Test
    public void testPromotionFailure() throws Exception {
        final InputStream in = getInputStream("SampleSun1_5_0PromotionFailure.txt");
        final DataReader reader = new DataReaderSun1_6_0(in, GcLogType.SUN1_5);
        GCModel model = reader.read();
       
        assertEquals("size", 6, model.size());
        assertEquals("throughput", 98.0937624615, model.getThroughput(), 0.00000001);
        assertEquals("gc pause", 8.413616, model.getPause().getSum(), 0.000001);
    }

    @Test
    public void testCMSConcurrentModeFailure() throws Exception {
        final InputStream in = getInputStream("SampleSun1_5_0ConcurrentModeFailure.txt");
        final DataReader reader = new DataReaderSun1_6_0(in, GcLogType.SUN1_5);
        GCModel model = reader.read();
       
        assertEquals("size", 3417, model.size());
        assertEquals("throughput", 78.558339113, model.getThroughput(), 0.00000001);
        assertEquals("gc pause", 181.8116798, model.getPause().getSum(), 0.000000001);
    }
   
    @Test
    public void testCmsScavengeBeforeRemark() throws Exception {
        final ByteArrayInputStream in = new ByteArrayInputStream(
                ("0.871: [GC[YG occupancy: 16241 K (16320 K)]0.871: [Scavenge-Before-Remark0.871: [Full GC 0.871: [ParNew: 16241K->0K(16320K), 0.0311294 secs] 374465K->374455K(524224K), 0.0312110 secs]" +
                 "\n, 0.0312323 secs]" +
                 "\n0.902: [Rescan (parallel) , 0.0310561 secs]0.933: [weak refs processing, 0.0000152 secs] [1 CMS-remark: 374455K(507904K)] 374455K(524224K), 0.0624207 secs]")
                        .getBytes());

        final DataReader reader = new DataReaderSun1_6_0(in, GcLogType.SUN1_5);
        GCModel model = reader.read();

        assertEquals("gc count", 2, model.size());
        assertEquals("full gc pause", 0.0312110, model.getFullGCPause().getMax(), 0.000001);
        assertEquals("remark pause", 0.0624207 - 0.0312110, model.getGCPause().getMax(), 0.000000001);
    }

}
TOP

Related Classes of com.tagtraum.perf.gcviewer.imp.TestDataReaderSun1_5_0

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.