Refactored TimeUtil and added totalling option.
This commit is contained in:
parent
6cac04d399
commit
f2c82cbf95
|
@ -1,40 +1,98 @@
|
||||||
package mineplex.core.common.util;
|
package mineplex.core.common.util;
|
||||||
|
|
||||||
import java.util.AbstractMap;
|
import java.util.AbstractMap;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
public class TimeUtil
|
public class TimeUtil
|
||||||
{
|
{
|
||||||
private static List<Entry<String, Long>> _timingList = new ArrayList<Entry<String, Long>>();
|
private static NautHashMap<String, Long> _timingList = new NautHashMap<String, Long>();
|
||||||
|
private static NautHashMap<String, Entry<Long, Long>> _totalList = new NautHashMap<String, Entry<Long, Long>>();
|
||||||
|
|
||||||
private static Object _timingLock = new Object();
|
private static Object _timingLock = new Object();
|
||||||
|
private static Object _totalLock = new Object();
|
||||||
|
|
||||||
|
public static boolean Debug = false;
|
||||||
|
|
||||||
|
public static void startTotal(String title)
|
||||||
|
{
|
||||||
|
if (!Debug)
|
||||||
|
return;
|
||||||
|
|
||||||
|
synchronized(_totalLock)
|
||||||
|
{
|
||||||
|
if (_totalList.containsKey(title))
|
||||||
|
{
|
||||||
|
_totalList.put(title, new AbstractMap.SimpleEntry<Long, Long>(System.currentTimeMillis(), _totalList.get(title).getValue()));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_totalList.put(title, new AbstractMap.SimpleEntry<Long, Long>(System.currentTimeMillis(), 0L));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void stopTotal(String title)
|
||||||
|
{
|
||||||
|
if (!Debug)
|
||||||
|
return;
|
||||||
|
|
||||||
|
synchronized(_totalLock)
|
||||||
|
{
|
||||||
|
if (_totalList.containsKey(title))
|
||||||
|
{
|
||||||
|
long additionalTime = System.currentTimeMillis() - _totalList.get(title).getKey();
|
||||||
|
_totalList.put(title, new AbstractMap.SimpleEntry<Long, Long>(System.currentTimeMillis(), _totalList.get(title).getValue() + additionalTime));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void printTotal(String title)
|
||||||
|
{
|
||||||
|
if (!Debug)
|
||||||
|
return;
|
||||||
|
|
||||||
|
synchronized(_totalLock)
|
||||||
|
{
|
||||||
|
System.out.println("]==[TIMING]==[" + title + " has taken " + _totalList.get(title).getValue() + "ms so far");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void printTotals()
|
||||||
|
{
|
||||||
|
if (!Debug)
|
||||||
|
return;
|
||||||
|
|
||||||
|
synchronized(_totalLock)
|
||||||
|
{
|
||||||
|
for (Entry<String, Entry<Long, Long>> entry : _totalList.entrySet())
|
||||||
|
{
|
||||||
|
System.out.println("]==[TIMING]==[" + entry.getKey() + " has taken " + entry.getValue().getValue() + "ms so far");
|
||||||
|
}
|
||||||
|
|
||||||
|
_totalList.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void start(String title)
|
public static void start(String title)
|
||||||
{
|
{
|
||||||
|
if (!Debug)
|
||||||
|
return;
|
||||||
|
|
||||||
synchronized(_timingLock)
|
synchronized(_timingLock)
|
||||||
{
|
{
|
||||||
_timingList.add(new AbstractMap.SimpleEntry<String, Long>(title, System.currentTimeMillis()));
|
_timingList.put(title, System.currentTimeMillis());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void stop()
|
public static void stop(String title)
|
||||||
{
|
{
|
||||||
|
if (!Debug)
|
||||||
|
return;
|
||||||
|
|
||||||
synchronized(_timingLock)
|
synchronized(_timingLock)
|
||||||
{
|
{
|
||||||
Collections.reverse(_timingList);
|
System.out.println("]==[TIMING]==[" + title + " took " + (System.currentTimeMillis() - _timingList.get(title)) + "ms");
|
||||||
|
_timingList.remove(title);
|
||||||
for (Iterator<Entry<String, Long>> iterator = _timingList.iterator(); iterator.hasNext();)
|
|
||||||
{
|
|
||||||
Entry<String, Long> entry = iterator.next();
|
|
||||||
|
|
||||||
System.out.println("==[TimeUtil]==" + entry.getKey()+ " took " + (System.currentTimeMillis() - entry.getValue()) + "ms");
|
|
||||||
iterator.remove();
|
|
||||||
}
|
|
||||||
|
|
||||||
Collections.reverse(_timingList);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -590,7 +590,7 @@ public class ArcadeManager extends MiniPlugin implements IRelation
|
||||||
for (String map : maps)
|
for (String map : maps)
|
||||||
System.out.println("Found Map: " + map);
|
System.out.println("Found Map: " + map);
|
||||||
|
|
||||||
TimeUtil.stop();
|
TimeUtil.stop("ArcadeManager LoadFiles");
|
||||||
|
|
||||||
return maps;
|
return maps;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,6 @@ import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
|
||||||
import mineplex.core.antihack.AntiHack;
|
|
||||||
import mineplex.core.common.util.TimeUtil;
|
import mineplex.core.common.util.TimeUtil;
|
||||||
import mineplex.core.common.util.UtilMath;
|
import mineplex.core.common.util.UtilMath;
|
||||||
import mineplex.core.common.util.UtilServer;
|
import mineplex.core.common.util.UtilServer;
|
||||||
|
@ -120,7 +119,7 @@ public class GameCreationManager implements Listener
|
||||||
|
|
||||||
removedPlayers = true;
|
removedPlayers = true;
|
||||||
|
|
||||||
TimeUtil.stop();
|
TimeUtil.stop("GameCreationManager - Kick Players - " + game.GetName());
|
||||||
}
|
}
|
||||||
|
|
||||||
//Clean
|
//Clean
|
||||||
|
@ -135,11 +134,11 @@ public class GameCreationManager implements Listener
|
||||||
game.WorldData = null;
|
game.WorldData = null;
|
||||||
gameIterator.remove();
|
gameIterator.remove();
|
||||||
|
|
||||||
TimeUtil.stop();
|
TimeUtil.stop("GameCreationManager - Uninit World - " + game.GetName());
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
TimeUtil.stop();
|
TimeUtil.stop("GameCreationManager - Attempting Removal - " + game.GetName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -188,11 +187,11 @@ public class GameCreationManager implements Listener
|
||||||
|
|
||||||
TimeUtil.start("DisplayNext");
|
TimeUtil.start("DisplayNext");
|
||||||
Manager.GetLobby().DisplayNext(Manager.GetGame(), pastTeams);
|
Manager.GetLobby().DisplayNext(Manager.GetGame(), pastTeams);
|
||||||
TimeUtil.stop();
|
TimeUtil.stop("DisplayNext");
|
||||||
|
|
||||||
TimeUtil.start("registerEvents");
|
TimeUtil.start("registerEvents");
|
||||||
UtilServer.getServer().getPluginManager().registerEvents(Manager.GetGame(), Manager.GetPlugin());
|
UtilServer.getServer().getPluginManager().registerEvents(Manager.GetGame(), Manager.GetPlugin());
|
||||||
TimeUtil.stop();
|
TimeUtil.stop("registerEvents");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetNextGameType(GameType type)
|
public void SetNextGameType(GameType type)
|
||||||
|
|
|
@ -81,14 +81,14 @@ public class WorldData
|
||||||
TimeUtil.start("WorldData loading world.");
|
TimeUtil.start("WorldData loading world.");
|
||||||
//Start World
|
//Start World
|
||||||
World = WorldUtil.LoadWorld(new WorldCreator(GetFolder()));
|
World = WorldUtil.LoadWorld(new WorldCreator(GetFolder()));
|
||||||
TimeUtil.stop();
|
TimeUtil.stop("WorldData loading world.");
|
||||||
|
|
||||||
World.setDifficulty(Difficulty.HARD);
|
World.setDifficulty(Difficulty.HARD);
|
||||||
|
|
||||||
TimeUtil.start("WorldData loading WorldConfig.");
|
TimeUtil.start("WorldData loading WorldConfig.");
|
||||||
//Load World Data
|
//Load World Data
|
||||||
worldData.LoadWorldConfig();
|
worldData.LoadWorldConfig();
|
||||||
TimeUtil.stop();
|
TimeUtil.stop("WorldData loading WorldConfig.");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -131,11 +131,11 @@ public class WorldData
|
||||||
new File(folder).mkdir();
|
new File(folder).mkdir();
|
||||||
new File(folder + java.io.File.separator + "region").mkdir();
|
new File(folder + java.io.File.separator + "region").mkdir();
|
||||||
new File(folder + java.io.File.separator + "data").mkdir();
|
new File(folder + java.io.File.separator + "data").mkdir();
|
||||||
TimeUtil.stop();
|
TimeUtil.stop("UnzipWorld creating folders");
|
||||||
|
|
||||||
TimeUtil.start("UnzipWorld UnzipToDirectory");
|
TimeUtil.start("UnzipWorld UnzipToDirectory");
|
||||||
ZipUtil.UnzipToDirectory("../../update/maps/" + Host.GetName() + "/" + GetFile() + ".zip", folder);
|
ZipUtil.UnzipToDirectory("../../update/maps/" + Host.GetName() + "/" + GetFile() + ".zip", folder);
|
||||||
TimeUtil.stop();
|
TimeUtil.stop("UnzipWorld UnzipToDirectory");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void LoadWorldConfig()
|
public void LoadWorldConfig()
|
||||||
|
|
Loading…
Reference in New Issue