public ZingLine parseLine()

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;
	}