Metrics tracks amount of modern forge player amount

This commit is contained in:
Adrian Bergqvist 2022-08-06 21:12:19 +02:00
parent 301164cb5b
commit 57e8ee1441
No known key found for this signature in database
GPG Key ID: FAE7D8EDE225E686
2 changed files with 19 additions and 1 deletions

View File

@ -10,10 +10,13 @@ import com.velocitypowered.api.plugin.Plugin;
import com.velocitypowered.api.plugin.annotation.DataDirectory;
import com.velocitypowered.api.proxy.ProxyServer;
import java.util.concurrent.Callable;
import org.adde0109.ambassador.forge.ForgeConnection;
import org.adde0109.ambassador.forge.ForgeHandshakeHandler;
import org.adde0109.ambassador.forge.ForgeHandshakeUtils;
import org.adde0109.ambassador.forge.ForgeServerSwitchHandler;
import org.bstats.MetricsBase;
import org.bstats.charts.SingleLineChart;
import org.bstats.velocity.Metrics;
import org.slf4j.Logger;
@ -44,7 +47,7 @@ public class Ambassador {
@Subscribe
public void onProxyInitialization(ProxyInitializeEvent event) {
metricsFactory.make(this, 15655);
initMetrics();
config = AmbassadorConfig.readOrCreateConfig(dataDirectory,server,logger);
if(config != null) {
@ -85,4 +88,14 @@ public class Ambassador {
}
continuation.resume();
}
private void initMetrics() {
Metrics metrics = metricsFactory.make(this, 15655);
metrics.addCustomChart(new SingleLineChart("modern_forge_players", new Callable<Integer>() {
@Override
public Integer call() throws Exception {
return (forgeHandshakeHandler != null) ? forgeHandshakeHandler.getAmountOfForgeConnections() : 0;
}
}));
}
}

View File

@ -19,6 +19,7 @@ import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TranslatableComponent;
import net.kyori.adventure.text.format.NamedTextColor;
import org.adde0109.ambassador.Ambassador;
import org.bstats.velocity.Metrics;
public class ForgeHandshakeHandler {
@ -86,6 +87,10 @@ public class ForgeHandshakeHandler {
return Optional.ofNullable(incomingForgeConnections.get(socketAddress));
}
public int getAmountOfForgeConnections() {
return incomingForgeConnections.size();
}
public Optional<ForgeServerConnection> getForgeServerConnection(RegisteredServer registeredServer) {
return Optional.ofNullable(forgeServerConnectionMap.get(registeredServer));
}