mirror of
https://github.com/GeyserMC/Floodgate.git
synced 2025-12-19 14:59:20 +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 snakeyamlVersion = "1.28"
|
||||
const val cloudVersion = "1.5.0"
|
||||
const val bstatsVersion = "3.0.1"
|
||||
const val bstatsVersion = "d2fbbd6823"
|
||||
|
||||
const val javaWebsocketVersion = "1.5.2"
|
||||
|
||||
|
||||
@@ -15,7 +15,9 @@ dependencies {
|
||||
api("org.java-websocket", "Java-WebSocket", Versions.javaWebsocketVersion)
|
||||
api("cloud.commandframework", "cloud-core", Versions.cloudVersion)
|
||||
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
|
||||
|
||||
@@ -38,12 +38,16 @@ import org.bstats.charts.DrilldownPie;
|
||||
import org.bstats.charts.SimplePie;
|
||||
import org.bstats.charts.SingleLineChart;
|
||||
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.logger.FloodgateLogger;
|
||||
import org.geysermc.floodgate.config.FloodgateConfig;
|
||||
import org.geysermc.floodgate.config.FloodgateConfig.MetricsConfig;
|
||||
import org.geysermc.floodgate.event.lifecycle.ShutdownEvent;
|
||||
import org.geysermc.floodgate.platform.util.PlatformUtils;
|
||||
|
||||
@Listener
|
||||
@AutoBind
|
||||
public final class Metrics {
|
||||
private final MetricsBase metricsBase;
|
||||
@@ -145,4 +149,9 @@ public final class Metrics {
|
||||
builder.appendField("osVersion", System.getProperty("os.version"));
|
||||
builder.appendField("coreCount", Runtime.getRuntime().availableProcessors());
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onShutdown(ShutdownEvent ignored) {
|
||||
metricsBase.shutdown();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user