double lastCX = graphGapLeft + normaliseX(minX);
double lastCY = graphGapTop + normaliseY(0);
drawAxes();
IMetaMember selectedMember = parent.getSelectedMember();
double compiledStampTime = -1;
if (selectedMember != null)
{
// last compile stamp write wins - plot all?
String cStamp = selectedMember.getCompiledAttribute("stamp");
if (cStamp != null)
{
compiledStampTime = ParseUtil.parseStamp(cStamp);
}
}
Color colourMarker = Color.BLUE;
gc.setFill(colourMarker);
gc.setStroke(colourMarker);
int cumC = 0;
int markerDiameter = 10;
for (JITEvent event : events)
{
if (event.getEventType() != EventType.QUEUE)
{
long stamp = event.getStamp();
cumC++;
double x = graphGapLeft + normaliseX(stamp);
double y = graphGapTop + normaliseY(cumC);
gc.setLineWidth(2);
gc.strokeLine(fix(lastCX), fix(lastCY), fix(x), fix(y));
gc.setLineWidth(1);
lastCX = x;
lastCY = y;
if (compiledStampTime != -1 && stamp > compiledStampTime)
{
double smX = graphGapLeft + normaliseX(compiledStampTime);
double blobX = fix(smX - markerDiameter / 2);
double blobY = fix(y - markerDiameter / 2);
gc.fillOval(blobX, blobY, fix(markerDiameter),
fix(markerDiameter));
StringBuilder selectedItemBuilder = new StringBuilder();
selectedItemBuilder.append(selectedMember.toStringUnqualifiedMethodName(false));
String compiler = selectedMember.getCompiledAttribute(ATTR_COMPILER);
if (compiler == null)
{
compiler = selectedMember.getCompiledAttribute(ATTR_COMPILE_KIND);
if (compiler == null)
{
compiler = "unknown!";
}
}
selectedItemBuilder.append(" compiled at ")
.append(StringUtil.formatTimestamp((long) compiledStampTime, true)).append(" by ").append(compiler);
String compiletime = selectedMember.getCompiledAttribute("compileMillis");
if (compiletime != null)
{
selectedItemBuilder.append(" in ").append(compiletime).append("ms");
}