@Override public String toString() { // Build a pretty table of metrics data. // Append headers final StringBuilder sb = new StringBuilder("Traversal Metrics\n") .append(String.format("%-50s %21s %11s %15s %8s", HEADERS)); sb.append("\n============================================================================================================="); appendMetrics(this.positionIndexedMetrics.values(), sb, 0); // Append total duration sb.append(String.format("%n%50s %21s %11s %15.3f %8s", ">TOTAL", "-", "-", getDuration(TimeUnit.MICROSECONDS) / 1000.0, "-")); return sb.toString(); }
@Override public String toString() { // Build a pretty table of metrics data. // Append headers final StringBuilder sb = new StringBuilder("Traversal Metrics\n") .append(String.format("%-50s %21s %11s %15s %8s", HEADERS)); sb.append("\n============================================================================================================="); appendMetrics(this.positionIndexedMetrics.values(), sb, 0); // Append total duration sb.append(String.format("%n%50s %21s %11s %15.3f %8s", ">TOTAL", "-", "-", getDuration(TimeUnit.MICROSECONDS) / 1000.0, "-")); return sb.toString(); }
@Override public OResult transform(DefaultTraversalMetrics value) { OResultInternal result = new OResultInternal(); result.setProperty("time (ms)", value.getDuration(TimeUnit.MILLISECONDS)); List<OResultInternal> steps = value.getMetrics().stream().map((m) -> { OResultInternal internal = new OResultInternal(); internal.setProperty("id", m.getId()); internal.setProperty("time (ms)", m.getDuration(TimeUnit.MILLISECONDS)); internal.setProperty("name", m.getName()); return internal; }).collect(Collectors.toList()); result.setProperty("steps", steps); return result; } }