in analysis/gc-log/src/main/java/org/eclipse/jifa/gclog/parser/GCLogParserFactory.java [81:113]
private GCLogParsingMetadata getMetadata(BufferedReader br) {
GCLogParsingMetadata result = new GCLogParsingMetadata(GCCollectorType.UNKNOWN, GCLogStyle.UNKNOWN);
try {
complete:
for (int i = 0; i < MAX_ATTEMPT_LINE; i++) {
String line = br.readLine();
if (line == null) {
break;
}
// Don't read this line in case users are using wrong arguments
if (line.startsWith("CommandLine flags: ")) {
continue;
}
for (ParserMetadataRule rule : rules) {
if (!line.contains(rule.getText())) {
continue;
}
if (result.getStyle() == GCLogStyle.UNKNOWN) {
result.setStyle(rule.getStyle());
}
if (result.getCollector() == GCCollectorType.UNKNOWN) {
result.setCollector(rule.getCollector());
}
if (result.getCollector() != GCCollectorType.UNKNOWN && result.getStyle() != GCLogStyle.UNKNOWN) {
break complete;
}
}
}
} catch (Exception e) {
// do nothing, hopefully we have got enough information
}
return result;
}