Package com.tagtraum.perf.gcviewer.model

Examples of com.tagtraum.perf.gcviewer.model.ConcurrentGCEvent


        GCEvent gcEvent2 = new GCEvent(0.708, 109176, 109176, 249088, 0.0004006, AbstractGCEvent.Type.GC);
        GCEvent initialMark = new GCEvent(0.708, 91890, 91890, 131072, 0, AbstractGCEvent.Type.CMS_INITIAL_MARK);
        gcEvent2.add(initialMark);
       
        ConcurrentGCEvent concGCEvent = new ConcurrentGCEvent();
        concGCEvent.setTimestamp(0.708);
        concGCEvent.setType(AbstractGCEvent.Type.CMS_CONCURRENT_MARK_START);
       
        gcModel = new GCModel();
        gcModel.add(gcEvent);
        gcModel.add(gcEvent2);
        gcModel.add(concGCEvent);
View Full Code Here


        GCModel model = reader.read();
       
        assertEquals("number of events", 3, model.size());
        assertEquals("number of concurrent events", 2, model.getConcurrentEventPauses().size());
       
        ConcurrentGCEvent concurrentEvent = (ConcurrentGCEvent) model.get(0);
        assertEquals("GC concurrent-root-region-scan-end expected", "GC concurrent-root-region-scan-end", concurrentEvent.getTypeAsString());

        concurrentEvent = (ConcurrentGCEvent) model.get(1);
        assertEquals("GC concurrent-mark-start expected", "GC concurrent-mark-start", concurrentEvent.getTypeAsString());

        GCEvent fullGcEvent = (GCEvent) model.get(2);
        assertEquals("full gc", "Full GC", fullGcEvent.getTypeAsString());

        assertEquals("number of errors", 0, handler.getCount());
View Full Code Here

     */
    private AbstractGCEvent<?> parseConcurrentEvent(String line,
            ParseInformation pos, Date datestamp,
            double timestamp, final ExtendedType type) throws ParseException {
       
        ConcurrentGCEvent event = new ConcurrentGCEvent();
       
        // simple concurrent events (ending with -start) just are of type GcPattern.GC
        event.setDateStamp(datestamp);
        event.setTimestamp(timestamp);
        event.setExtendedType(type);
        if (type.getPattern() == GcPattern.GC_PAUSE) {
            // the -end events contain a pause as well
            event.setPause(parsePause(line, pos));
            event.setDuration(event.getPause());
        }
        return event;
    }
View Full Code Here

            Date datestamp = parseDatestamp(line, pos);
            double timestamp = getTimestamp(line, pos, datestamp);
            ExtendedType type = parseType(line, pos);
            // special provision for CMS events
            if (type.getConcurrency() == Concurrency.CONCURRENT) {
                ae = new ConcurrentGCEvent();
                ConcurrentGCEvent event = (ConcurrentGCEvent)ae;

                // simple concurrent events (ending with -start) just are of type GcPattern.GC
                event.setDateStamp(datestamp);
                event.setTimestamp(timestamp);
                event.setExtendedType(type);
                if (type.getPattern() == GcPattern.GC_PAUSE_DURATION) {
                    // the -end events contain a pause and duration as well
                    int start = pos.getIndex();
                    int end = line.indexOf('/', pos.getIndex());
                    event.setPause(NumberParser.parseDouble(line.substring(start, end)));
                    start = end + 1;
                    end = line.indexOf(' ', start);
                    event.setDuration(NumberParser.parseDouble(line.substring(start, end)));
                }
                // nothing more to parse...
            }
            else if (type.getCollectionType().equals(CollectionType.VM_OPERATION)) {
                ae = new VmOperationEvent();
                VmOperationEvent vmOpEvent = (VmOperationEvent) ae;
               
                vmOpEvent.setDateStamp(datestamp);
                vmOpEvent.setTimestamp(timestamp);
                vmOpEvent.setExtendedType(type);
                vmOpEvent.setPause(parsePause(line, pos));
            }
            else {
                ae = new GCEvent();
                GCEvent event = (GCEvent) ae;
               
                event.setDateStamp(datestamp);
                event.setTimestamp(timestamp);
                event.setExtendedType(type);
                // now add detail gcevents, should they exist
                parseDetailEventsIfExist(line, pos, event);
                if (event.getExtendedType().getPattern() == GcPattern.GC_MEMORY_PAUSE
                    || event.getExtendedType().getPattern() == GcPattern.GC_MEMORY) {
                   
                    setMemory(event, line, pos);
                }
                // then more detail events follow (perm gen is usually here)
                parseDetailEventsIfExist(line, pos, event);
                if (event.getExtendedType().getPattern() == GcPattern.GC_MEMORY_PAUSE
                        || event.getExtendedType().getPattern() == GcPattern.GC_PAUSE) {
                   
                    event.setPause(parsePause(line, pos));
                }
            }
            return ae;
        }
        catch (RuntimeException rte) {
View Full Code Here

        final double scaleFactor = getModelChart().getScaleFactor();
        final int height = getHeight();
        int lastScaledTimestampBegin = Integer.MIN_VALUE;
        int lastScaledTimestampEnd = Integer.MIN_VALUE;
        for (Iterator<ConcurrentGCEvent> i = getModelChart().getModel().getConcurrentGCEvents(); i.hasNext();) {
            final ConcurrentGCEvent event = i.next();
            if (event.isConcurrentCollectionStart()) {
                final int scaledTimestamp = (int) (scaleFactor * (event.getTimestamp() - getModelChart().getModel().getFirstPauseTimeStamp()));
                if (scaledTimestamp != lastScaledTimestampBegin) {
                    g2d.setPaint(CONCURRENT_COLLECTION_BEGIN);
                    g2d.drawLine(scaledTimestamp, 0, scaledTimestamp, height);
                    lastScaledTimestampBegin = scaledTimestamp;
                }
            }
            else if (event.isConcurrentCollectionEnd()) {
                final int scaledTimestamp = (int) (scaleFactor * (event.getTimestamp() - getModelChart().getModel().getFirstPauseTimeStamp()));
                if (scaledTimestamp != lastScaledTimestampEnd) {
                    g2d.setPaint(CONCURRENT_COLLECTION_END);
                    g2d.drawLine(scaledTimestamp, 0, scaledTimestamp, height);
                    lastScaledTimestampEnd = scaledTimestamp;
                }
View Full Code Here

TOP

Related Classes of com.tagtraum.perf.gcviewer.model.ConcurrentGCEvent

Copyright © 2018 www.massapicom. 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.