WorldPerfGraphCommand class
Пакет: com.hypixel.hytale.server.core.universe.world.commands.world.perf
Файл: com/hypixel/hytale/server/core/universe/world/commands/world/perf/WorldPerfGraphCommand.java
extends: AbstractWorldCommand
Поля (11)
| Модификаторы | Тип | Имя |
|---|---|---|
|
long[] |
var10 |
|
long |
var12 |
|
long[] |
var14 |
|
long[] |
var15 |
|
String |
var16 |
|
StringBuilder |
var17 |
|
Integer |
var4 |
|
Integer |
var5 |
|
long |
var6 |
|
Message |
var8 |
|
HistoricMetric |
var9 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(int var11 = 0; var11 < var10.length; var11++) |
abstract |
|
super super("graph", "server.commands.world.perf.graph.desc") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.universe.world.commands.world.perf;
class="kw">import com.hypixel.hytale.common.util.FormatUtil;
class="kw">import com.hypixel.hytale.common.util.StringUtil;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.metrics.metric.HistoricMetric;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.DefaultArg;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.ArgTypes;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractWorldCommand;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.concurrent.TimeUnit;
class="kw">import javax.annotation.Nonnull;
class="kw">public class WorldPerfGraphCommand class="kw">extends AbstractWorldCommand {
@Nonnull
class="kw">private class="kw">final DefaultArg<Integer> widthArg = this.withDefaultArg(
"width", "server.commands.world.perf.graph.width.desc", ArgTypes.INTEGER, 100, "server.commands.world.perf.graph.width.class="kw">default"
);
@Nonnull
class="kw">private class="kw">final DefaultArg<Integer> heightArg = this.withDefaultArg(
"height", "server.commands.world.perf.graph.height.desc", ArgTypes.INTEGER, 10, "server.commands.world.perf.graph.height.class="kw">default"
);
class="kw">public WorldPerfGraphCommand() {
super("graph", "server.commands.world.perf.graph.desc");
}
@Override
class="kw">protected void execute(@Nonnull CommandContext var1, @Nonnull World var2, @Nonnull Store<EntityStore> var3) {
Integer var4 = this.widthArg.get(var1);
Integer var5 = this.heightArg.get(var1);
long var6 = System.nanoTime();
Message var8 = Message.empty();
HistoricMetric var9 = var2.getBufferedTickLengthMetricSet();
long[] var10 = var9.getPeriodsNanos();
for (int var11 = 0; var11 < var10.length; var11++) {
long var12 = var10[var11];
long[] var14 = var9.getTimestamps(var11);
long[] var15 = var9.getValues(var11);
String var16 = FormatUtil.timeUnitToString(var12, TimeUnit.NANOSECONDS, true);
var8.insert(Message.translation("server.commands.world.perf.graph").param("time", var16));
StringBuilder var17 = new StringBuilder();
StringUtil.generateGraph(
var17,
var4,
var5,
var6 - var12,
var6,
0.0,
var2.getTps(),
var0 -> String.valueOf(MathUtil.round(var0, 2)),
var14.length,
var1x -> var14[var1x],
var2x -> WorldPerfCommand.tpsFromDelta(var15[var2x], var2.getTickStepNanos())
);
var8.insert(var17.toString()).insert("\n");
}
var1.sendMessage(var8);
}
}