1
0
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:
Konicai
2023-02-26 18:48:49 -05:00
committed by GitHub
parent 9512528b35
commit 2230f2a6d3
3 changed files with 13 additions and 2 deletions

View File

@@ -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"

View File

@@ -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

View File

@@ -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();
}
}