Search in sources :

Example 1 with Type

use of com.tagtraum.perf.gcviewer.model.AbstractGCEvent.Type in project GCViewer by chewiebug.

the class DataReaderIBM_J9_R28 method handleGcStart.

private void handleGcStart(XMLEventReader eventReader, StartElement startElement, GCEvent event, String eventNameStart) throws XMLStreamException, UnknownGcTypeException {
    String typeName = eventNameStart + getAttributeValue(startElement, "type");
    AbstractGCEvent.Type type = Type.lookup(typeName);
    if (type == null) {
        throw new UnknownGcTypeException(typeName, startElement.toString());
    }
    event.setType(type);
    String currentElementName = "";
    while (eventReader.hasNext() && !currentElementName.equals(GC_START)) {
        XMLEvent xmlEvent = eventReader.nextEvent();
        if (xmlEvent.isStartElement()) {
            StartElement startEl = xmlEvent.asStartElement();
            if (startEl.getName().getLocalPart().equals("mem-info")) {
                setTotalAndPreUsed(event, startEl);
            } else if (startEl.getName().getLocalPart().equals("mem")) {
                switch(getAttributeValue(startEl, "type")) {
                    case "nursery":
                        GCEvent young = new GCEvent();
                        young.setType(Type.lookup("nursery"));
                        setTotalAndPreUsed(young, startEl);
                        event.add(young);
                        break;
                    case "tenure":
                        GCEvent tenured = new GCEvent();
                        tenured.setType(Type.lookup("tenure"));
                        setTotalAndPreUsed(tenured, startEl);
                        event.add(tenured);
                        break;
                }
            }
        } else if (xmlEvent.isEndElement()) {
            EndElement endElement = xmlEvent.asEndElement();
            currentElementName = endElement.getName().getLocalPart();
        }
    }
}
Also used : StartElement(javax.xml.stream.events.StartElement) EndElement(javax.xml.stream.events.EndElement) Type(com.tagtraum.perf.gcviewer.model.AbstractGCEvent.Type) XMLEvent(javax.xml.stream.events.XMLEvent) AbstractGCEvent(com.tagtraum.perf.gcviewer.model.AbstractGCEvent) AbstractGCEvent(com.tagtraum.perf.gcviewer.model.AbstractGCEvent) GCEvent(com.tagtraum.perf.gcviewer.model.GCEvent)

Aggregations

AbstractGCEvent (com.tagtraum.perf.gcviewer.model.AbstractGCEvent)1 Type (com.tagtraum.perf.gcviewer.model.AbstractGCEvent.Type)1 GCEvent (com.tagtraum.perf.gcviewer.model.GCEvent)1 EndElement (javax.xml.stream.events.EndElement)1 StartElement (javax.xml.stream.events.StartElement)1 XMLEvent (javax.xml.stream.events.XMLEvent)1