From 7b3b34162740f3e25d83e447dffedbfada19758a Mon Sep 17 00:00:00 2001 From: dfsek Date: Sun, 11 Apr 2021 23:08:32 -0700 Subject: [PATCH] improve data output --- .../src/main/java/com/dfsek/terra/api/TerraPlugin.java | 3 +++ .../main/java/com/dfsek/terra/profiler/Profiler.java | 4 ---- .../java/com/dfsek/terra/profiler/ProfilerImpl.java | 2 +- .../main/java/com/dfsek/terra/profiler/Timings.java | 10 ++++++---- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/common/src/main/java/com/dfsek/terra/api/TerraPlugin.java b/common/src/main/java/com/dfsek/terra/api/TerraPlugin.java index fb9f87613..aeeb5e814 100644 --- a/common/src/main/java/com/dfsek/terra/api/TerraPlugin.java +++ b/common/src/main/java/com/dfsek/terra/api/TerraPlugin.java @@ -12,6 +12,7 @@ import com.dfsek.terra.api.util.logging.Logger; import com.dfsek.terra.config.PluginConfig; import com.dfsek.terra.config.lang.Language; import com.dfsek.terra.config.pack.ConfigPack; +import com.dfsek.terra.profiler.Profiler; import com.dfsek.terra.world.TerraWorld; import java.io.File; @@ -64,4 +65,6 @@ public interface TerraPlugin extends LoaderRegistrar { default void runPossiblyUnsafeTask(Runnable task) { task.run(); } + + Profiler getProfiler(); } diff --git a/common/src/main/java/com/dfsek/terra/profiler/Profiler.java b/common/src/main/java/com/dfsek/terra/profiler/Profiler.java index ce0fa48c9..d2f625c43 100644 --- a/common/src/main/java/com/dfsek/terra/profiler/Profiler.java +++ b/common/src/main/java/com/dfsek/terra/profiler/Profiler.java @@ -5,10 +5,6 @@ import java.util.Map; public interface Profiler { ProfilerImpl INSTANCE = new ProfilerImpl(); - static Profiler getInstance() { - return INSTANCE; - } - void push(String frame); void pop(String frame); diff --git a/common/src/main/java/com/dfsek/terra/profiler/ProfilerImpl.java b/common/src/main/java/com/dfsek/terra/profiler/ProfilerImpl.java index c1410842c..b84986e3d 100644 --- a/common/src/main/java/com/dfsek/terra/profiler/ProfilerImpl.java +++ b/common/src/main/java/com/dfsek/terra/profiler/ProfilerImpl.java @@ -15,7 +15,7 @@ public class ProfilerImpl implements Profiler { private volatile boolean running = false; - protected ProfilerImpl() { + public ProfilerImpl() { } diff --git a/common/src/main/java/com/dfsek/terra/profiler/Timings.java b/common/src/main/java/com/dfsek/terra/profiler/Timings.java index 383211ef6..e632e4cf0 100644 --- a/common/src/main/java/com/dfsek/terra/profiler/Timings.java +++ b/common/src/main/java/com/dfsek/terra/profiler/Timings.java @@ -34,23 +34,25 @@ public class Timings { return subItems.computeIfAbsent(id, s -> new Timings()); } - public String toString(int indent) { + public String toString(int indent, Timings parent) { StringBuilder builder = new StringBuilder(); - builder.append("Avg ").append(average() / 1000000).append("ms"); + builder.append((double) min() / 1000000).append("ms min / ").append(average() / 1000000).append("ms avg / ") + .append((double) max() / 1000000).append("ms max (").append(timings.size()).append(" samples, ") + .append((average() / parent.average()) * 100).append("% of parent)"); subItems.forEach((id, timings) -> { builder.append('\n'); for(int i = 0; i <= indent; i++) { builder.append('\t'); } - builder.append(id).append(": ").append(timings.toString(indent + 1)); + builder.append(id).append(": ").append(timings.toString(indent + 1, this)); }); return builder.toString(); } @Override public String toString() { - return toString(0); + return toString(0, this); } }