forked from MinecraftUtilities/Backend
fix websocket metrics
This commit is contained in:
parent
d394c21f69
commit
beda7fa230
@ -40,14 +40,22 @@ public abstract class WebSocket extends TextWebSocketHandler {
|
|||||||
session.sendMessage(new TextMessage(message));
|
session.sendMessage(new TextMessage(message));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when a session connects to the WebSocket.
|
||||||
|
*
|
||||||
|
* @param session the session that connected
|
||||||
|
*/
|
||||||
|
abstract public void onSessionConnect(WebSocketSession session);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterConnectionEstablished(@NotNull WebSocketSession session) throws Exception {
|
public final void afterConnectionEstablished(@NotNull WebSocketSession session) {
|
||||||
this.sessions.add(session);
|
this.sessions.add(session);
|
||||||
log.info("Connection established: {}", session.getId());
|
log.info("Connection established: {}", session.getId());
|
||||||
|
this.onSessionConnect(session);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterConnectionClosed(@NotNull WebSocketSession session, @NotNull CloseStatus status) throws Exception {
|
public final void afterConnectionClosed(@NotNull WebSocketSession session, @NotNull CloseStatus status) {
|
||||||
this.sessions.remove(session);
|
this.sessions.remove(session);
|
||||||
log.info("Connection closed: {}", session.getId());
|
log.info("Connection closed: {}", session.getId());
|
||||||
}
|
}
|
||||||
|
@ -32,8 +32,8 @@ public class MetricsWebSocket extends WebSocket {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterConnectionEstablished(@NotNull WebSocketSession session) {
|
public void onSessionConnect(WebSocketSession session) {
|
||||||
sendMetrics(session); // Send metrics to the client when they connect
|
sendMetrics(session);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -43,11 +43,11 @@ public class MetricsWebSocket extends WebSocket {
|
|||||||
*/
|
*/
|
||||||
private void sendMetrics(WebSocketSession session) {
|
private void sendMetrics(WebSocketSession session) {
|
||||||
try {
|
try {
|
||||||
session.sendMessage(new TextMessage(Main.GSON.toJson(Map.of(
|
this.sendMessage(session, Main.GSON.toJson(Map.of(
|
||||||
"totalRequests", metricService.getMetric(TotalRequestsMetric.class).getValue(),
|
"totalRequests", metricService.getMetric(TotalRequestsMetric.class).getValue(),
|
||||||
"uniqueServerLookups", metricService.getMetric(UniqueServerLookupsMetric.class).getValue(),
|
"uniqueServerLookups", metricService.getMetric(UniqueServerLookupsMetric.class).getValue(),
|
||||||
"uniquePlayerLookups", metricService.getMetric(UniquePlayerLookupsMetric.class).getValue()
|
"uniquePlayerLookups", metricService.getMetric(UniquePlayerLookupsMetric.class).getValue()
|
||||||
))));
|
)));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("An error occurred while sending metrics to the client", e);
|
log.error("An error occurred while sending metrics to the client", e);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user