From 41bf96f33293ee1703053874c7b3adba3100258c Mon Sep 17 00:00:00 2001 From: Techcable Date: Thu, 19 May 2016 10:55:20 -0700 Subject: [PATCH] Configurable Waterfall Metrics diff --git a/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java b/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java index b30541be..293ec4e3 100644 --- a/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java +++ b/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java @@ -84,4 +84,8 @@ public interface ProxyConfig // Waterfall Options // + /** + * If metrics is enabled + */ + boolean isMetrics(); } diff --git a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java index f9e277dc..056b8040 100644 --- a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java +++ b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java @@ -9,10 +9,23 @@ import net.md_5.bungee.conf.YamlConfig; public class WaterfallConfiguration extends Configuration { + /** + * If metrics is enabled + *

+ * Default is true (enabled) + */ + private boolean metrics = true; + @Override public void load() { super.load(); YamlConfig config = new YamlConfig(new File("waterfall.yml")); config.load(false); // Load, but no permissions + metrics = config.getBoolean("metrics", metrics); + } + + @Override + public boolean isMetrics() { + return metrics; } } diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java index 30613a06..56bbd3c4 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java @@ -299,7 +299,9 @@ public class BungeeCord extends ProxyServer } } }, 0, TimeUnit.MINUTES.toMillis( 5 ) ); - metricsThread.scheduleAtFixedRate( new Metrics(), 0, TimeUnit.MINUTES.toMillis( Metrics.PING_INTERVAL ) ); + if (config.isMetrics()) { + metricsThread.scheduleAtFixedRate( new Metrics(), 0, TimeUnit.MINUTES.toMillis( Metrics.PING_INTERVAL ) ); + } } public void startListeners() diff --git a/proxy/src/main/java/net/md_5/bungee/Metrics.java b/proxy/src/main/java/net/md_5/bungee/Metrics.java index 95239878..e482e98c 100644 --- a/proxy/src/main/java/net/md_5/bungee/Metrics.java +++ b/proxy/src/main/java/net/md_5/bungee/Metrics.java @@ -9,6 +9,7 @@ import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; import java.util.TimerTask; + import net.md_5.bungee.api.ProxyServer; public class Metrics extends TimerTask @@ -71,7 +72,7 @@ public class Metrics extends TimerTask } // Create the url - URL url = new URL( BASE_URL + String.format( REPORT_URL, encode( "BungeeCord" ) ) ); + URL url = new URL( BASE_URL + String.format( REPORT_URL, encode( "Waterfall" ) ) ); // Connect to the website URLConnection connection; -- 2.17.0.windows.1