PacketStatsCommand class
Пакет: com.hypixel.hytale.server.core.command.commands.debug
Файл: com/hypixel/hytale/server/core/command/commands/debug/PacketStatsCommand.java
extends: AbstractTargetPlayerCommand
Поля (17)
| Модификаторы | Тип | Имя |
|---|---|---|
|
ObjectArrayList |
var1 |
|
PacketStatsRecorder.PacketStatsEntry |
var10 |
|
Message |
var11 |
|
PacketStatsRecorder.RecentStats |
var12 |
|
int |
var13 |
|
Message |
var14 |
|
Message |
var15 |
|
PacketStatsRecorder.RecentStats |
var16 |
|
int |
var17 |
|
Message |
var18 |
|
PacketStatsRecorder.PacketStatsEntry |
var3 |
|
PacketStatsRecorder.PacketStatsEntry |
var3 |
|
String |
var4 |
|
String |
var4 |
|
String |
var7 |
|
PacketHandler |
var8 |
|
PacketStatsRecorder |
var9 |
Методы (7)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(int var2 = 0; var2 < 512; var2++) |
|
|
for for(int var2 = 0; var2 < 512; var2++) |
static |
List<String> |
getEntryNamesList<String> getEntryNames(PacketStatsRecorder var0) |
|
|
if if(var9 == null) |
|
|
if if(var10 == null) |
|
|
if if(var4 != null) |
abstract |
|
super super("packetstats", "server.commands.packetStats.desc") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.commands.debug;
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.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.protocol.io.PacketStatsRecorder;
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.CommandUtil;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.RequiredArg;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.ArgTypes;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractTargetPlayerCommand;
class="kw">import com.hypixel.hytale.server.core.io.PacketHandler;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
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 it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class PacketStatsCommand class="kw">extends AbstractTargetPlayerCommand {
@Nonnull
class="kw">private class="kw">final RequiredArg<String> packetArg = this.withRequiredArg("packet", "server.commands.packetStats.packet.desc", ArgTypes.STRING);
class="kw">public PacketStatsCommand() {
super("packetstats", "server.commands.packetStats.desc");
}
@Override
class="kw">protected void execute(
@Nonnull CommandContext var1,
@Nullable Ref<EntityStore> var2,
@Nonnull Ref<EntityStore> var3,
@Nonnull PlayerRef var4,
@Nonnull World var5,
@Nonnull Store<EntityStore> var6
) {
String var7 = this.packetArg.get(var1);
PacketHandler var8 = var4.getPacketHandler();
PacketStatsRecorder var9 = var8.getPacketStatsRecorder();
if (var9 == null) {
var1.sendMessage(Message.translation("server.commands.packetStats.notAvailable"));
} else {
PacketStatsRecorder.PacketStatsEntry var10 = findEntry(var9, var7);
if (var10 == null) {
var1.sendMessage(Message.translation("server.commands.packetStats.notFound").param("name", var7));
var1.sendMessage(
Message.translation("server.general.failed.didYouMean")
.param("choices", StringUtil.sortByFuzzyDistance(var7, getEntryNames(var9), CommandUtil.RECOMMEND_COUNT).toString())
);
} else {
Message var11 = Message.translation("server.commands.packetStats.row")
.param("count", var10.getSentCount())
.param(
"size",
FormatUtil.bytesToString(var10.getSentCompressedTotal())
+ " ("
+ FormatUtil.bytesToString(var10.getSentUncompressedTotal())
+ " uncompressed)"
)
.param("avg", FormatUtil.bytesToString((long)var10.getSentCompressedAvg()))
.param("min", FormatUtil.bytesToString(var10.getSentCompressedMin()))
.param("max", FormatUtil.bytesToString(var10.getSentCompressedMax()));
PacketStatsRecorder.RecentStats var12 = var10.getSentRecently();
int var13 = var12.count();
Message var14 = Message.translation("server.commands.packetStats.row")
.param("count", var13)
.param("size", FormatUtil.bytesToString(var12.compressedTotal()) + " (" + FormatUtil.bytesToString(var12.uncompressedTotal()) + " uncompressed)")
.param("avg", FormatUtil.bytesToString(var13 > 0 ? var12.compressedTotal() / var13 : 0L))
.param("min", FormatUtil.bytesToString(var12.compressedMin()))
.param("max", FormatUtil.bytesToString(var12.compressedMax()));
Message var15 = Message.translation("server.commands.packetStats.row")
.param("count", var10.getReceivedCount())
.param(
"size",
FormatUtil.bytesToString(var10.getReceivedCompressedTotal())
+ " ("
+ FormatUtil.bytesToString(var10.getReceivedUncompressedTotal())
+ " uncompressed)"
)
.param("avg", FormatUtil.bytesToString((long)var10.getReceivedCompressedAvg()))
.param("min", FormatUtil.bytesToString(var10.getReceivedCompressedMin()))
.param("max", FormatUtil.bytesToString(var10.getReceivedCompressedMax()));
PacketStatsRecorder.RecentStats var16 = var10.getReceivedRecently();
int var17 = var16.count();
Message var18 = Message.translation("server.commands.packetStats.row")
.param("count", var17)
.param("size", FormatUtil.bytesToString(var16.compressedTotal()) + " (" + FormatUtil.bytesToString(var16.uncompressedTotal()) + " uncompressed)")
.param("avg", FormatUtil.bytesToString(var17 > 0 ? var16.compressedTotal() / var17 : 0L))
.param("min", FormatUtil.bytesToString(var16.compressedMin()))
.param("max", FormatUtil.bytesToString(var16.compressedMax()));
var1.sendMessage(
Message.translation("server.commands.packetStats.stats")
.param("name", var10.getName())
.param("id", var10.getPacketId())
.param("sentTotal", var11)
.param("sentRecent", var14)
.param("receivedTotal", var15)
.param("receivedRecent", var18)
);
}
}
}
@Nullable
class="kw">private class="kw">static PacketStatsRecorder.PacketStatsEntry findEntry(PacketStatsRecorder var0, String var1) {
for (int var2 = 0; var2 < 512; var2++) {
PacketStatsRecorder.PacketStatsEntry var3 = var0.getEntry(var2);
if (var3.hasData()) {
String var4 = var3.getName();
if (var4 != null && var1.equalsIgnoreCase(var4)) {
class="kw">return var3;
}
}
}
class="kw">return null;
}
class="kw">private class="kw">static List<String> getEntryNames(PacketStatsRecorder var0) {
ObjectArrayList var1 = new ObjectArrayList();
for (int var2 = 0; var2 < 512; var2++) {
PacketStatsRecorder.PacketStatsEntry var3 = var0.getEntry(var2);
if (var3.hasData()) {
String var4 = var3.getName();
if (var4 != null) {
var1.add(var4);
}
}
}
class="kw">return var1;
}
}