mirror of
https://github.com/GeyserMC/Floodgate.git
synced 2025-12-23 16:59:18 +00:00
Shutdown metrics on platform shutdown (#386)
* Shutdown metrics on platorm shutdown * Listen to event instead of hardcoding it * Annotate Metrics as a Listener * Use temporary bStats fork to properly shutdown bStats * Use bstats-base dependency (instead of the whole project I guess?) * Formatting change --------- Co-authored-by: Tim203 <mctim203@gmail.com>
This commit is contained in:
@@ -34,7 +34,7 @@ object Versions {
|
|||||||
const val nettyVersion = "4.1.49.Final"
|
const val nettyVersion = "4.1.49.Final"
|
||||||
const val snakeyamlVersion = "1.28"
|
const val snakeyamlVersion = "1.28"
|
||||||
const val cloudVersion = "1.5.0"
|
const val cloudVersion = "1.5.0"
|
||||||
const val bstatsVersion = "3.0.1"
|
const val bstatsVersion = "d2fbbd6823"
|
||||||
|
|
||||||
const val javaWebsocketVersion = "1.5.2"
|
const val javaWebsocketVersion = "1.5.2"
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,9 @@ dependencies {
|
|||||||
api("org.java-websocket", "Java-WebSocket", Versions.javaWebsocketVersion)
|
api("org.java-websocket", "Java-WebSocket", Versions.javaWebsocketVersion)
|
||||||
api("cloud.commandframework", "cloud-core", Versions.cloudVersion)
|
api("cloud.commandframework", "cloud-core", Versions.cloudVersion)
|
||||||
api("org.yaml", "snakeyaml", Versions.snakeyamlVersion)
|
api("org.yaml", "snakeyaml", Versions.snakeyamlVersion)
|
||||||
api("org.bstats", "bstats-base", Versions.bstatsVersion)
|
|
||||||
|
//todo use official dependency once https://github.com/Bastian/bstats-metrics/pull/118 is merged
|
||||||
|
api("com.github.Konicai.bstats-metrics", "bstats-base", Versions.bstatsVersion)
|
||||||
}
|
}
|
||||||
|
|
||||||
// present on all platforms
|
// present on all platforms
|
||||||
|
|||||||
@@ -38,12 +38,16 @@ import org.bstats.charts.DrilldownPie;
|
|||||||
import org.bstats.charts.SimplePie;
|
import org.bstats.charts.SimplePie;
|
||||||
import org.bstats.charts.SingleLineChart;
|
import org.bstats.charts.SingleLineChart;
|
||||||
import org.bstats.json.JsonObjectBuilder;
|
import org.bstats.json.JsonObjectBuilder;
|
||||||
|
import org.geysermc.event.Listener;
|
||||||
|
import org.geysermc.event.subscribe.Subscribe;
|
||||||
import org.geysermc.floodgate.api.FloodgateApi;
|
import org.geysermc.floodgate.api.FloodgateApi;
|
||||||
import org.geysermc.floodgate.api.logger.FloodgateLogger;
|
import org.geysermc.floodgate.api.logger.FloodgateLogger;
|
||||||
import org.geysermc.floodgate.config.FloodgateConfig;
|
import org.geysermc.floodgate.config.FloodgateConfig;
|
||||||
import org.geysermc.floodgate.config.FloodgateConfig.MetricsConfig;
|
import org.geysermc.floodgate.config.FloodgateConfig.MetricsConfig;
|
||||||
|
import org.geysermc.floodgate.event.lifecycle.ShutdownEvent;
|
||||||
import org.geysermc.floodgate.platform.util.PlatformUtils;
|
import org.geysermc.floodgate.platform.util.PlatformUtils;
|
||||||
|
|
||||||
|
@Listener
|
||||||
@AutoBind
|
@AutoBind
|
||||||
public final class Metrics {
|
public final class Metrics {
|
||||||
private final MetricsBase metricsBase;
|
private final MetricsBase metricsBase;
|
||||||
@@ -145,4 +149,9 @@ public final class Metrics {
|
|||||||
builder.appendField("osVersion", System.getProperty("os.version"));
|
builder.appendField("osVersion", System.getProperty("os.version"));
|
||||||
builder.appendField("coreCount", Runtime.getRuntime().availableProcessors());
|
builder.appendField("coreCount", Runtime.getRuntime().availableProcessors());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
public void onShutdown(ShutdownEvent ignored) {
|
||||||
|
metricsBase.shutdown();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user