");
builder.append("
");
builder.append(getNameHtml(mapping));
builder.append("");
builder
.append(String.format("%.2f", getTotalTime() / (double) totalTime * 100))
.append("%");
builder.append("");
builder.append("");
builder.append(getTotalTime()).append("ms");
builder.append("");
builder.append("");
builder.append("");
builder.append("");
builder.append("");
builder.append("
");
builder.append("
");
for (StackNode child : getChildren()) {
builder.append("- ");
child.writeHtml(builder, mapping, totalTime);
builder.append("
");
}
builder.append("
");
builder.append("
");
}
public String toHtml(McpMapping mapping) {
StringBuilder builder = new StringBuilder();
writeHtml(builder, mapping, getTotalTime());
return builder.toString();
}
private void writeString(StringBuilder builder, int indent) {
StringBuilder b = new StringBuilder();
for (int i = 0; i < indent; i++) {
b.append(" ");
}
String padding = b.toString();
for (StackNode child : getChildren()) {
builder.append(padding).append(child.getName());
builder.append(" ");
builder.append(getTotalTime()).append("ms");
builder.append("\n");
child.writeString(builder, indent + 1);
}
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
writeString(builder, 0);
return builder.toString();
}
protected static String formatCssPct(double pct) {
return cssDec.format(pct);
}
protected static String escapeHtml(String str) {
return str.replace("&", "&").replace("<", "<").replace(">", ">");
}
}
================================================
FILE: src/main/java/com/sk89q/warmroast/StackTraceNode.java
================================================
/*
* WarmRoast
* Copyright (C) 2013 Albert Pham