in core/src/main/java/org/adoptopenjdk/jitwatch/parser/zing/ZingLogParser.java [130:226]
public ZingLine parseLine(String line)
{
ZingLine result = new ZingLine();
try
{
String[] parts = line.split("\\s+");
int pos = 0;
String approxTS = parts[pos++];
long timestamp = ParseUtil.parseStamp(approxTS);
String compileID = parts[pos++];
int compileIdValue = Integer.parseInt(compileID);
result.setCompileId(compileIdValue);
String flagsOrTier = parts[pos];
int flagsOrTierLength = flagsOrTier.length();
if (flagsOrTierLength == 1 && Character.isDigit(flagsOrTier.charAt(0)))
{
}
else
{
for (int i = 0; i < flagsOrTierLength; i++)
{
char c = flagsOrTier.charAt(i);
if (c == '!')
{
result.setThrowsExceptions(true);
}
else if (c == 's')
{
}
else if (c == '%')
{
}
}
pos++;
}
String tier = parts[pos++];
int tierValue = Integer.parseInt(tier);
result.setTier(tierValue);
if ("installed".equals(parts[pos]))
{
ZingLine queuedLine = compileIdMap.get(result.getCompileId());
if (queuedLine == null)
{
logger.error("No queued compilation found for {}", result.getCompileId());
result = null;
}
else
{
int waitedTime = getWaitedTime(line);
// int compileTime = getCompileTime(line);
result = queuedLine;
result.setTimestampMillisNMethodEmitted(timestamp);
result.setTimestampMillisQueued(result.getTimestampMillisCompileStart() - waitedTime);
completeLineInstalled(result, parts, pos);
}
}
else
{
result.setTimestampMillisCompileStart(timestamp);
completeLineQueued(result, parts, pos);
compileIdMap.put(result.getCompileId(), result);
}
}
catch (Exception e)
{
logger.error("Bad line: {}", line, e);
e.printStackTrace();
result = null;
}
return result;
}