mirror of
https://github.com/webbukkit/dynmap.git
synced 2025-01-13 03:10:39 +01:00
Add 'dynmap dumpmemory' command to dump RP image count, mem use
This commit is contained in:
parent
fc3fc5e18c
commit
fa0e87d3c0
@ -1173,6 +1173,7 @@ public class DynmapCore implements DynmapCommonAPI {
|
|||||||
"add-id-for-ip",
|
"add-id-for-ip",
|
||||||
"del-id-for-ip",
|
"del-id-for-ip",
|
||||||
"webregister",
|
"webregister",
|
||||||
|
"dumpmemory",
|
||||||
"help"}));
|
"help"}));
|
||||||
|
|
||||||
private static class CommandInfo {
|
private static class CommandInfo {
|
||||||
@ -1239,6 +1240,7 @@ public class DynmapCore implements DynmapCommonAPI {
|
|||||||
new CommandInfo("dynmap", "webregister", "Start registration process for creating web login account"),
|
new CommandInfo("dynmap", "webregister", "Start registration process for creating web login account"),
|
||||||
new CommandInfo("dynmap", "webregister", "<player>", "Start registration process for creating web login account for player <player>"),
|
new CommandInfo("dynmap", "webregister", "<player>", "Start registration process for creating web login account for player <player>"),
|
||||||
new CommandInfo("dynmap", "version", "Return version information"),
|
new CommandInfo("dynmap", "version", "Return version information"),
|
||||||
|
new CommandInfo("dynmap", "dumpmemory", "Return mempry use information"),
|
||||||
new CommandInfo("dmarker", "", "Manipulate map markers."),
|
new CommandInfo("dmarker", "", "Manipulate map markers."),
|
||||||
new CommandInfo("dmarker", "add", "<label>", "Add new marker with label <label> at current location (use double-quotes if spaces needed)."),
|
new CommandInfo("dmarker", "add", "<label>", "Add new marker with label <label> at current location (use double-quotes if spaces needed)."),
|
||||||
new CommandInfo("dmarker", "add", "id:<id> <label>", "Add new marker with ID <id> at current location (use double-quotes if spaces needed)."),
|
new CommandInfo("dmarker", "add", "id:<id> <label>", "Add new marker with ID <id> at current location (use double-quotes if spaces needed)."),
|
||||||
@ -1712,6 +1714,9 @@ public class DynmapCore implements DynmapCommonAPI {
|
|||||||
else if(c.equals("help")) {
|
else if(c.equals("help")) {
|
||||||
printCommandHelp(sender, cmd, (args.length > 1)?args[1]:"");
|
printCommandHelp(sender, cmd, (args.length > 1)?args[1]:"");
|
||||||
}
|
}
|
||||||
|
else if(c.equals("dumpmemory")) {
|
||||||
|
TexturePack.tallyMemory(sender);
|
||||||
|
}
|
||||||
else if(c.equals("version")) {
|
else if(c.equals("version")) {
|
||||||
sender.sendMessage("Dynmap version: core=" + this.getDynmapCoreVersion() + ", plugin=" + this.getDynmapPluginVersion());
|
sender.sendMessage("Dynmap version: core=" + this.getDynmapCoreVersion() + ", plugin=" + this.getDynmapPluginVersion());
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@ import org.dynmap.DynmapCore;
|
|||||||
import org.dynmap.Log;
|
import org.dynmap.Log;
|
||||||
import org.dynmap.MapManager;
|
import org.dynmap.MapManager;
|
||||||
import org.dynmap.common.BiomeMap;
|
import org.dynmap.common.BiomeMap;
|
||||||
|
import org.dynmap.common.DynmapCommandSender;
|
||||||
import org.dynmap.exporter.OBJExport;
|
import org.dynmap.exporter.OBJExport;
|
||||||
import org.dynmap.renderer.CustomColorMultiplier;
|
import org.dynmap.renderer.CustomColorMultiplier;
|
||||||
import org.dynmap.renderer.DynmapBlockState;
|
import org.dynmap.renderer.DynmapBlockState;
|
||||||
@ -3659,4 +3660,34 @@ public class TexturePack {
|
|||||||
|
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void tallyMemory(DynmapCommandSender sender) {
|
||||||
|
long packcount = 0;
|
||||||
|
long packbytecount = 0;
|
||||||
|
for (String packid : packs.keySet()) {
|
||||||
|
TexturePack p = packs.get(packid);
|
||||||
|
long scaledcount = 0;
|
||||||
|
long scaledbytecount = 0;
|
||||||
|
for (Integer scale : p.scaled_textures.keySet()) {
|
||||||
|
TexturePack sp = p.scaled_textures.get(scale);
|
||||||
|
long bytecount = 0;
|
||||||
|
long imgcount = 0;
|
||||||
|
for (int i = 0; i < sp.imgs.length; i++) {
|
||||||
|
if (sp.imgs[i] != null) {
|
||||||
|
if (sp.imgs[i].argb != null) {
|
||||||
|
bytecount += sp.imgs[i].argb.length * 4;
|
||||||
|
imgcount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sender.sendMessage("pack: " + packid + ", scale: " + scale + ", imagecount=" + imgcount + ", bytecount=" + bytecount);
|
||||||
|
scaledcount += imgcount;
|
||||||
|
scaledbytecount += bytecount;
|
||||||
|
}
|
||||||
|
sender.sendMessage("pack: " + packid + ", total: imagecount=" + scaledcount + ", bytecount=" + scaledbytecount);
|
||||||
|
packcount += scaledcount;
|
||||||
|
packbytecount += scaledbytecount;
|
||||||
|
}
|
||||||
|
sender.sendMessage("overall total: imagecount=" + packcount + ", bytecount=" + packbytecount + "(" + (packbytecount / 1024.0 / 1024.0) + "Mb)");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user