1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-17 20:11:21 +02:00

Make the lag warning configurable, useful to debug economy lag on larger servers.

This commit is contained in:
KHobbits
2013-05-12 04:32:56 +01:00
parent 02c13e94b3
commit 414a3ccf4e
4 changed files with 52 additions and 16 deletions

View File

@@ -187,6 +187,8 @@ public interface ISettings extends IConf
public int getMailsPerMinute();
public long getEconomyLagWarning();
public void setEssentialsChatActive(boolean b);
long getMaxTempban();

View File

@@ -461,15 +461,18 @@ public class Settings implements ISettings
if (config.isConfigurationSection("list"))
{
Map<String, Object> values = config.getConfigurationSection("list").getValues(false);
if (!values.isEmpty()) {
if (!values.isEmpty())
{
return values;
}
}
Map<String, Object> defaultMap = new HashMap<String, Object>();
if (config.getBoolean("sort-list-by-groups", false)) {
if (config.getBoolean("sort-list-by-groups", false))
{
defaultMap.put("ListByGroup", "ListByGroup");
}
else {
else
{
defaultMap.put("Players", "*");
}
return defaultMap;
@@ -510,6 +513,9 @@ public class Settings implements ISettings
mailsPerMinute = _getMailsPerMinute();
maxMoney = _getMaxMoney();
minMoney = _getMinMoney();
economyLagWarning = _getEconomyLagWarning();
economyLog = _isEcoLogEnabled();
economyLogUpdate = _isEcoLogUpdateEnabled();
}
private List<Integer> itemSpawnBl = new ArrayList<Integer>();
@@ -636,12 +642,14 @@ public class Settings implements ISettings
return config.getString("currency-symbol", "$").concat("$").substring(0, 1).replaceAll("[0-9]", "$");
}
// #easteregg
@Override
public boolean isTradeInStacks(int id)
{
return config.getBoolean("trade-in-stacks-" + id, false);
}
// #easteregg
@Override
public boolean isEcoDisabled()
{
@@ -721,15 +729,28 @@ public class Settings implements ISettings
{
return minMoney;
}
private boolean economyLog = false;
@Override
public boolean isEcoLogEnabled()
{
return economyLog;
}
public boolean _isEcoLogEnabled()
{
return config.getBoolean("economy-log-enabled", false);
}
// #easteregg
private boolean economyLogUpdate = false;
@Override
public boolean isEcoLogUpdateEnabled()
{
return economyLogUpdate;
}
public boolean _isEcoLogUpdateEnabled()
{
return config.getBoolean("economy-log-update-enabled", false);
}
@@ -794,6 +815,7 @@ public class Settings implements ISettings
{
return prefixsuffixconfigured ? addprefixsuffix : essentialsChatActive;
}
// #easteregg
private boolean disablePrefix = false;
private boolean _disablePrefix()
@@ -806,6 +828,7 @@ public class Settings implements ISettings
{
return disablePrefix;
}
// #easteregg
private boolean disableSuffix = false;
private boolean _disableSuffix()
@@ -1035,8 +1058,6 @@ public class Settings implements ISettings
return maxSpeed > 1.0 ? 1.0 : Math.abs(maxSpeed);
}
//This option does not exist in the config.yml because it wasn't yet implemented in bukkit
//The code was commented out in the /speed command
@Override
public double getMaxWalkSpeed()
{
@@ -1055,6 +1076,19 @@ public class Settings implements ISettings
{
return mailsPerMinute;
}
// #easteregg
private long economyLagWarning;
private long _getEconomyLagWarning()
{
return config.getLong("economy-lag-warning", 20000000L); // Default to 20ms
}
@Override
public long getEconomyLagWarning()
{
return economyLagWarning;
}
@Override
public long getMaxTempban()

View File

@@ -396,8 +396,8 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
{
final long start = System.nanoTime();
final BigDecimal value = _getMoney();
final long elapsed = start - System.nanoTime();
if (elapsed > 20000000L)
final long elapsed = System.nanoTime() - start;
if (elapsed > ess.getSettings().getEconomyLagWarning())
{
ess.getLogger().log(Level.INFO, "Lag Notice - Slow Economy Response - Request took over {0}ms!", elapsed / 1000000);
}

View File

@@ -179,7 +179,7 @@ public class Commandbalancetop extends EssentialsCommand
{
lock.readLock().unlock();
}
ess.runTaskAsynchronously(new Calculator(new Viewer(sender, page, force), force));
ess.runTaskAsynchronously(new Calculator(new Viewer(sender, page, false), force));
}
}
}