Package com.tagtraum.perf.gcviewer.model.AbstractGCEvent

Examples of com.tagtraum.perf.gcviewer.model.AbstractGCEvent.ExtendedType


        }
    }

    protected ExtendedType parseType(String line, ParseInformation pos) throws ParseException {
        String typeString = parseTypeString(line, pos);
        ExtendedType gcType = extractTypeFromParsedString(typeString);
        if (gcType == null) {
            throw new UnknownGcTypeException(typeString, line, pos);
        }
       
        return gcType;
View Full Code Here


        return gcType;
    }


    protected ExtendedType extractTypeFromParsedString(String typeName) throws UnknownGcTypeException {
        ExtendedType extendedType = null;
        String lookupTypeName = typeName.endsWith("--")
                ? typeName.substring(0, typeName.length()-2)
                        : typeName;
        AbstractGCEvent.Type gcType = AbstractGCEvent.Type.lookup(lookupTypeName);
        // the gcType may be null because there was a PrintGCCause flag enabled - if so, reparse it with the first paren set stripped
View Full Code Here

                    // 0.356: [GC pause (young), 0.00219944 secs] -> GC_PAUSE pattern but GC_MEMORY_PAUSE
                    //   event (has extensive details)
                    // all other GC types are the same as in standard G1 mode.
                    gcPauseMatcher.reset(line);
                    if (gcPauseMatcher.matches()) {
                        ExtendedType type = extractTypeFromParsedString(gcPauseMatcher.group(GC_PAUSE_GROUP_TYPE));

                        if (type != null && type.getPattern().compareTo(GcPattern.GC_MEMORY_PAUSE) == 0) {
                            // detailed G1 events start with GC_MEMORY pattern, but are of type GC_MEMORY_PAUSE

                            gcEvent = new G1GcEvent();
                            Date datestamp = parseDatestamp(gcPauseMatcher.group(GC_PAUSE_GROUP_DATESTAMP), parsePosition);
                            gcEvent.setDateStamp(datestamp);
View Full Code Here

     * @throws ParseException
     */
    private void parseIncompleteConcurrentEvent(GCModel model, AbstractGCEvent<?> previousEvent, String line, ParseInformation pos) throws ParseException {
        // some concurrent event is mixed in -> extract it
        pos.setIndex(line.indexOf("GC conc"));
        ExtendedType type = parseType(line, pos);
        model.add(parseConcurrentEvent(line,
                pos,
                previousEvent != null ? previousEvent.getDatestamp() : null,
                previousEvent != null ? previousEvent.getTimestamp() : 0,
                type));
View Full Code Here

            // parse timestamp          "double:"
            // parse collection type    "[TYPE"
            // pre-used->post-used, total, time
            Date datestamp = parseDatestamp(line, pos);
            double timestamp = getTimestamp(line, pos, datestamp);
            ExtendedType type = parseType(line, pos);
            // special provision for concurrent events
            if (type.getConcurrency() == Concurrency.CONCURRENT) {
                ae = parseConcurrentEvent(line, pos, datestamp, timestamp, type);
            }
            else if (type.getCollectionType().equals(CollectionType.VM_OPERATION)) {
                ae = new VmOperationEvent();
                VmOperationEvent vmOpEvent = (VmOperationEvent) ae;
               
                vmOpEvent.setDateStamp(datestamp);
                vmOpEvent.setTimestamp(timestamp);
View Full Code Here

            // parse collection type    "[TYPE"
            // either GC data or another collection type starting with timestamp
            // pre-used->post-used, total, time
            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);
View Full Code Here

TOP

Related Classes of com.tagtraum.perf.gcviewer.model.AbstractGCEvent.ExtendedType

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.