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();
}
}
}
Aggregations