|
|
|
@ -52,6 +52,11 @@ public class SessionPlaceHolders implements Placeholders {
|
|
|
|
|
private final ServerInfo serverInfo;
|
|
|
|
|
private final Formatters formatters;
|
|
|
|
|
|
|
|
|
|
private Formatter<Long> timeAmount;
|
|
|
|
|
private Formatter<DateHolder> year;
|
|
|
|
|
private Formatter<Double> decimals;
|
|
|
|
|
private Database database;
|
|
|
|
|
|
|
|
|
|
@Inject
|
|
|
|
|
public SessionPlaceHolders(
|
|
|
|
|
PlanConfig config,
|
|
|
|
@ -71,67 +76,149 @@ public class SessionPlaceHolders implements Placeholders {
|
|
|
|
|
return timeAmount.apply(sessionCount != 0 ? playtime / sessionCount : playtime);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static String getPlaytime(Database database, long after, long before, Formatter<Long> timeAmount) {
|
|
|
|
|
Long playtime = database.query(SessionQueries.playtime(after, before));
|
|
|
|
|
Long sessionCount = database.query(SessionQueries.sessionCount(after, before));
|
|
|
|
|
return timeAmount.apply(sessionCount != 0 ? playtime / sessionCount : playtime);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void register(
|
|
|
|
|
PlanPlaceholders placeholders
|
|
|
|
|
) {
|
|
|
|
|
int tzOffsetMs = config.getTimeZone().getOffset(System.currentTimeMillis());
|
|
|
|
|
Formatter<Long> timeAmount = formatters.timeAmount();
|
|
|
|
|
Formatter<DateHolder> year = formatters.year();
|
|
|
|
|
Formatter<Double> decimals = formatters.decimals();
|
|
|
|
|
Database database = dbSystem.getDatabase();
|
|
|
|
|
timeAmount = formatters.timeAmount();
|
|
|
|
|
year = formatters.year();
|
|
|
|
|
decimals = formatters.decimals();
|
|
|
|
|
database = dbSystem.getDatabase();
|
|
|
|
|
|
|
|
|
|
placeholders.registerStatic("sessions_play_time_total",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.playtime(0L, now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_play_time_total_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.playtime(0L, now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_play_time_day",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.playtime(dayAgo(), now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_play_time_day_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.playtime(dayAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_play_time_week",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.playtime(weekAgo(), now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_play_time_week_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.playtime(weekAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_play_time_month",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.playtime(monthAgo(), now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_play_time_month_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.playtime(monthAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
registerServerPlaytime(placeholders);
|
|
|
|
|
registerNetworkPlaytime(placeholders);
|
|
|
|
|
registerServerActivePlaytime(placeholders);
|
|
|
|
|
registerNetworkActivePlaytime(placeholders);
|
|
|
|
|
registerServerAfkTime(placeholders);
|
|
|
|
|
registerNetworkAfkTime(placeholders);
|
|
|
|
|
|
|
|
|
|
placeholders.registerStatic("sessions_active_time_total",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.activePlaytime(0L, now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_active_time_total_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.activePlaytime(0L, now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_active_time_day",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.activePlaytime(dayAgo(), now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_active_time_day_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.activePlaytime(dayAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_active_time_week",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.activePlaytime(weekAgo(), now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_active_time_week_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.activePlaytime(weekAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_active_time_month",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.activePlaytime(monthAgo(), now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_active_time_month_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.activePlaytime(monthAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
registerServerPve(placeholders);
|
|
|
|
|
registerSessionLength(placeholders);
|
|
|
|
|
|
|
|
|
|
placeholders.registerStatic("sessions_afk_time_total",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.afkTime(0L, now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_afk_time_total_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.afkTime(0L, now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_afk_time_day",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.afkTime(dayAgo(), now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_afk_time_day_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.afkTime(dayAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_afk_time_week",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.afkTime(weekAgo(), now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_afk_time_week_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.afkTime(weekAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_afk_time_month",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.afkTime(monthAgo(), now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_afk_time_month_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.afkTime(monthAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
registerServerUniquePlayers(placeholders);
|
|
|
|
|
registerNetworkUniquePlayers(placeholders);
|
|
|
|
|
registerAverageUniquePlayer(placeholders, tzOffsetMs);
|
|
|
|
|
registerNewPlayer(placeholders);
|
|
|
|
|
|
|
|
|
|
registerPing(placeholders);
|
|
|
|
|
registerServerPeakCounts(placeholders);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void registerServerPeakCounts(PlanPlaceholders placeholders) {
|
|
|
|
|
placeholders.registerStatic("sessions_peak_count",
|
|
|
|
|
parameters -> database.query(TPSQueries.fetchAllTimePeakPlayerCount(getServerUUID(parameters))).map(DateObj::getValue).orElse(0));
|
|
|
|
|
placeholders.registerStatic("sessions_peak_date",
|
|
|
|
|
parameters -> database.query(TPSQueries.fetchAllTimePeakPlayerCount(getServerUUID(parameters))).map(year).orElse("-"));
|
|
|
|
|
placeholders.registerStatic("sessions_recent_peak_count",
|
|
|
|
|
parameters -> database.query(TPSQueries.fetchPeakPlayerCount(getServerUUID(parameters), now() - TimeUnit.DAYS.toMillis(2L))).map(DateObj::getValue).orElse(0));
|
|
|
|
|
placeholders.registerStatic("sessions_recent_peak_date",
|
|
|
|
|
parameters -> database.query(TPSQueries.fetchPeakPlayerCount(getServerUUID(parameters), now() - TimeUnit.DAYS.toMillis(2L))).map(year).orElse("-"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void registerPing(PlanPlaceholders placeholders) {
|
|
|
|
|
placeholders.registerStatic("ping_total",
|
|
|
|
|
parameters -> decimals.apply(database.query(PingQueries.averagePing(0L, now(), getServerUUID(parameters)))) + " ms");
|
|
|
|
|
placeholders.registerStatic("ping_day",
|
|
|
|
|
parameters -> decimals.apply(database.query(PingQueries.averagePing(dayAgo(), now(), getServerUUID(parameters)))) + " ms");
|
|
|
|
|
placeholders.registerStatic("ping_week",
|
|
|
|
|
parameters -> decimals.apply(database.query(PingQueries.averagePing(weekAgo(), now(), getServerUUID(parameters)))) + " ms");
|
|
|
|
|
placeholders.registerStatic("ping_month",
|
|
|
|
|
parameters -> decimals.apply(database.query(PingQueries.averagePing(monthAgo(), now(), getServerUUID(parameters)))) + " ms");
|
|
|
|
|
|
|
|
|
|
placeholders.registerStatic("network_ping_total",
|
|
|
|
|
parameters -> decimals.apply(database.query(PingQueries.averagePing(0L, now()))) + " ms");
|
|
|
|
|
placeholders.registerStatic("network_ping_day",
|
|
|
|
|
parameters -> decimals.apply(database.query(PingQueries.averagePing(dayAgo(), now()))) + " ms");
|
|
|
|
|
placeholders.registerStatic("network_ping_week",
|
|
|
|
|
parameters -> decimals.apply(database.query(PingQueries.averagePing(weekAgo(), now()))) + " ms");
|
|
|
|
|
placeholders.registerStatic("network_ping_month",
|
|
|
|
|
parameters -> decimals.apply(database.query(PingQueries.averagePing(monthAgo(), now()))) + " ms");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void registerNewPlayer(PlanPlaceholders placeholders) {
|
|
|
|
|
placeholders.registerStatic("sessions_new_players_day",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.newPlayerCount(dayAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_new_players_week",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.newPlayerCount(weekAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_new_players_month",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.newPlayerCount(monthAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
|
|
|
|
|
placeholders.registerStatic("network_sessions_new_players_day",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.newPlayerCount(dayAgo(), now())));
|
|
|
|
|
placeholders.registerStatic("network_sessions_new_players_week",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.newPlayerCount(weekAgo(), now())));
|
|
|
|
|
placeholders.registerStatic("network_sessions_new_players_month",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.newPlayerCount(monthAgo(), now())));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void registerAverageUniquePlayer(PlanPlaceholders placeholders, int tzOffsetMs) {
|
|
|
|
|
placeholders.registerStatic("sessions_average_unique_players_total",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.averageUniquePlayerCount(0L, now(), tzOffsetMs, getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_average_unique_players_day",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.averageUniquePlayerCount(dayAgo(), now(), tzOffsetMs, getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_average_unique_players_week",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.averageUniquePlayerCount(weekAgo(), now(), tzOffsetMs, getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_average_unique_players_month",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.averageUniquePlayerCount(monthAgo(), now(), tzOffsetMs, getServerUUID(parameters))));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
placeholders.registerStatic("network_sessions_average_unique_players_total",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.averageUniquePlayerCount(0L, now(), tzOffsetMs)));
|
|
|
|
|
placeholders.registerStatic("network_sessions_average_unique_players_day",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.averageUniquePlayerCount(dayAgo(), now(), tzOffsetMs)));
|
|
|
|
|
placeholders.registerStatic("network_sessions_average_unique_players_week",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.averageUniquePlayerCount(weekAgo(), now(), tzOffsetMs)));
|
|
|
|
|
placeholders.registerStatic("network_sessions_average_unique_players_month",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.averageUniquePlayerCount(monthAgo(), now(), tzOffsetMs)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void registerSessionLength(PlanPlaceholders placeholders) {
|
|
|
|
|
placeholders.registerStatic("sessions_average_session_length_total",
|
|
|
|
|
parameters -> getPlaytime(database, 0L, now(), getServerUUID(parameters), timeAmount));
|
|
|
|
|
placeholders.registerStatic("sessions_average_session_length_day",
|
|
|
|
|
parameters -> getPlaytime(database, dayAgo(), now(), getServerUUID(parameters), timeAmount));
|
|
|
|
|
placeholders.registerStatic("sessions_average_session_length_week",
|
|
|
|
|
parameters -> getPlaytime(database, weekAgo(), now(), getServerUUID(parameters), timeAmount));
|
|
|
|
|
placeholders.registerStatic("sessions_average_session_length_month",
|
|
|
|
|
parameters -> getPlaytime(database, monthAgo(), now(), getServerUUID(parameters), timeAmount));
|
|
|
|
|
|
|
|
|
|
placeholders.registerStatic("network_sessions_average_session_length_total",
|
|
|
|
|
parameters -> getPlaytime(database, 0L, now(), timeAmount));
|
|
|
|
|
placeholders.registerStatic("network_sessions_average_session_length_day",
|
|
|
|
|
parameters -> getPlaytime(database, dayAgo(), now(), timeAmount));
|
|
|
|
|
placeholders.registerStatic("network_sessions_average_session_length_week",
|
|
|
|
|
parameters -> getPlaytime(database, weekAgo(), now(), timeAmount));
|
|
|
|
|
placeholders.registerStatic("network_sessions_average_session_length_month",
|
|
|
|
|
parameters -> getPlaytime(database, monthAgo(), now(), timeAmount));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void registerNetworkUniquePlayers(PlanPlaceholders placeholders) {
|
|
|
|
|
PlanPlaceholders.StaticPlaceholderLoader networkUniquePlayers = parameters -> database.query(PlayerCountQueries.newPlayerCount(0L, now()));
|
|
|
|
|
placeholders.registerStatic("network_sessions_unique_players_total", networkUniquePlayers);
|
|
|
|
|
placeholders.registerStatic("network_sessions_new_players_total", networkUniquePlayers);
|
|
|
|
|
|
|
|
|
|
placeholders.registerStatic("network_sessions_unique_players_day",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.uniquePlayerCount(dayAgo(), now())));
|
|
|
|
|
placeholders.registerStatic("network_sessions_unique_players_today",
|
|
|
|
|
parameters -> {
|
|
|
|
|
NavigableMap<Long, Integer> playerCounts = database.query(PlayerCountQueries.uniquePlayerCounts(dayAgo(), now(), config.getTimeZone().getOffset(now())));
|
|
|
|
|
return playerCounts.isEmpty() ? 0 : playerCounts.lastEntry().getValue();
|
|
|
|
|
});
|
|
|
|
|
placeholders.registerStatic("network_sessions_unique_players_week",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.uniquePlayerCount(weekAgo(), now())));
|
|
|
|
|
placeholders.registerStatic("network_sessions_unique_players_month",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.uniquePlayerCount(monthAgo(), now())));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void registerServerUniquePlayers(PlanPlaceholders placeholders) {
|
|
|
|
|
PlanPlaceholders.StaticPlaceholderLoader uniquePlayers = parameters -> database.query(PlayerCountQueries.newPlayerCount(0L, now(), getServerUUID(parameters)));
|
|
|
|
|
placeholders.registerStatic("sessions_unique_players_total", uniquePlayers);
|
|
|
|
|
placeholders.registerStatic("sessions_new_players_total", uniquePlayers);
|
|
|
|
@ -147,7 +234,9 @@ public class SessionPlaceHolders implements Placeholders {
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.uniquePlayerCount(weekAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_unique_players_month",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.uniquePlayerCount(monthAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void registerServerPve(PlanPlaceholders placeholders) {
|
|
|
|
|
placeholders.registerStatic("sessions_players_death_total",
|
|
|
|
|
parameters -> database.query(KillQueries.deathCount(0L, now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_players_death_day",
|
|
|
|
@ -174,50 +263,120 @@ public class SessionPlaceHolders implements Placeholders {
|
|
|
|
|
parameters -> database.query(KillQueries.mobKillCount(weekAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_mob_kill_month",
|
|
|
|
|
parameters -> database.query(KillQueries.mobKillCount(monthAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
placeholders.registerStatic("sessions_average_session_length_total",
|
|
|
|
|
parameters -> getPlaytime(database, 0L, now(), getServerUUID(parameters), timeAmount));
|
|
|
|
|
placeholders.registerStatic("sessions_average_session_length_day",
|
|
|
|
|
parameters -> getPlaytime(database, dayAgo(), now(), getServerUUID(parameters), timeAmount));
|
|
|
|
|
placeholders.registerStatic("sessions_average_session_length_week",
|
|
|
|
|
parameters -> getPlaytime(database, weekAgo(), now(), getServerUUID(parameters), timeAmount));
|
|
|
|
|
placeholders.registerStatic("sessions_average_session_length_month",
|
|
|
|
|
parameters -> getPlaytime(database, monthAgo(), now(), getServerUUID(parameters), timeAmount));
|
|
|
|
|
private void registerNetworkAfkTime(PlanPlaceholders placeholders) {
|
|
|
|
|
placeholders.registerStatic("network_sessions_afk_time_total",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.afkTime(0L, now()))));
|
|
|
|
|
placeholders.registerStatic("network_sessions_afk_time_total_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.afkTime(0L, now())));
|
|
|
|
|
placeholders.registerStatic("network_sessions_afk_time_day",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.afkTime(dayAgo(), now()))));
|
|
|
|
|
placeholders.registerStatic("network_sessions_afk_time_day_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.afkTime(dayAgo(), now())));
|
|
|
|
|
placeholders.registerStatic("network_sessions_afk_time_week",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.afkTime(weekAgo(), now()))));
|
|
|
|
|
placeholders.registerStatic("network_sessions_afk_time_week_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.afkTime(weekAgo(), now())));
|
|
|
|
|
placeholders.registerStatic("network_sessions_afk_time_month",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.afkTime(monthAgo(), now()))));
|
|
|
|
|
placeholders.registerStatic("network_sessions_afk_time_month_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.afkTime(monthAgo(), now())));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
placeholders.registerStatic("sessions_average_unique_players_total",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.averageUniquePlayerCount(0L, now(), tzOffsetMs, getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_average_unique_players_day",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.averageUniquePlayerCount(dayAgo(), now(), tzOffsetMs, getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_average_unique_players_week",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.averageUniquePlayerCount(weekAgo(), now(), tzOffsetMs, getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_average_unique_players_month",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.averageUniquePlayerCount(monthAgo(), now(), tzOffsetMs, getServerUUID(parameters))));
|
|
|
|
|
private void registerServerAfkTime(PlanPlaceholders placeholders) {
|
|
|
|
|
placeholders.registerStatic("sessions_afk_time_total",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.afkTime(0L, now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_afk_time_total_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.afkTime(0L, now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_afk_time_day",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.afkTime(dayAgo(), now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_afk_time_day_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.afkTime(dayAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_afk_time_week",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.afkTime(weekAgo(), now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_afk_time_week_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.afkTime(weekAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_afk_time_month",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.afkTime(monthAgo(), now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_afk_time_month_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.afkTime(monthAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
placeholders.registerStatic("sessions_new_players_day",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.newPlayerCount(dayAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_new_players_week",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.newPlayerCount(weekAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_new_players_month",
|
|
|
|
|
parameters -> database.query(PlayerCountQueries.newPlayerCount(monthAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
private void registerNetworkActivePlaytime(PlanPlaceholders placeholders) {
|
|
|
|
|
placeholders.registerStatic("network_sessions_active_time_total",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.activePlaytime(0L, now()))));
|
|
|
|
|
placeholders.registerStatic("network_sessions_active_time_total_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.activePlaytime(0L, now())));
|
|
|
|
|
placeholders.registerStatic("network_sessions_active_time_day",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.activePlaytime(dayAgo(), now()))));
|
|
|
|
|
placeholders.registerStatic("network_sessions_active_time_day_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.activePlaytime(dayAgo(), now())));
|
|
|
|
|
placeholders.registerStatic("network_sessions_active_time_week",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.activePlaytime(weekAgo(), now()))));
|
|
|
|
|
placeholders.registerStatic("network_sessions_active_time_week_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.activePlaytime(weekAgo(), now())));
|
|
|
|
|
placeholders.registerStatic("network_sessions_active_time_month",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.activePlaytime(monthAgo(), now()))));
|
|
|
|
|
placeholders.registerStatic("network_sessions_active_time_month_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.activePlaytime(monthAgo(), now())));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
placeholders.registerStatic("ping_total",
|
|
|
|
|
parameters -> decimals.apply(database.query(PingQueries.averagePing(0L, now(), getServerUUID(parameters)))) + " ms");
|
|
|
|
|
placeholders.registerStatic("ping_day",
|
|
|
|
|
parameters -> decimals.apply(database.query(PingQueries.averagePing(dayAgo(), now(), getServerUUID(parameters)))) + " ms");
|
|
|
|
|
placeholders.registerStatic("ping_week",
|
|
|
|
|
parameters -> decimals.apply(database.query(PingQueries.averagePing(weekAgo(), now(), getServerUUID(parameters)))) + " ms");
|
|
|
|
|
placeholders.registerStatic("ping_month",
|
|
|
|
|
parameters -> decimals.apply(database.query(PingQueries.averagePing(monthAgo(), now(), getServerUUID(parameters)))) + " ms");
|
|
|
|
|
private void registerServerActivePlaytime(PlanPlaceholders placeholders) {
|
|
|
|
|
placeholders.registerStatic("sessions_active_time_total",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.activePlaytime(0L, now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_active_time_total_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.activePlaytime(0L, now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_active_time_day",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.activePlaytime(dayAgo(), now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_active_time_day_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.activePlaytime(dayAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_active_time_week",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.activePlaytime(weekAgo(), now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_active_time_week_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.activePlaytime(weekAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_active_time_month",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.activePlaytime(monthAgo(), now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_active_time_month_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.activePlaytime(monthAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
placeholders.registerStatic("sessions_peak_count",
|
|
|
|
|
parameters -> database.query(TPSQueries.fetchAllTimePeakPlayerCount(getServerUUID(parameters))).map(DateObj::getValue).orElse(0));
|
|
|
|
|
placeholders.registerStatic("sessions_peak_date",
|
|
|
|
|
parameters -> database.query(TPSQueries.fetchAllTimePeakPlayerCount(getServerUUID(parameters))).map(year).orElse("-"));
|
|
|
|
|
private void registerNetworkPlaytime(PlanPlaceholders placeholders) {
|
|
|
|
|
placeholders.registerStatic("network_sessions_play_time_total",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.playtime(0L, now()))));
|
|
|
|
|
placeholders.registerStatic("network_sessions_play_time_total_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.playtime(0L, now())));
|
|
|
|
|
placeholders.registerStatic("network_sessions_play_time_day",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.playtime(dayAgo(), now()))));
|
|
|
|
|
placeholders.registerStatic("network_sessions_play_time_day_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.playtime(dayAgo(), now())));
|
|
|
|
|
placeholders.registerStatic("network_sessions_play_time_week",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.playtime(weekAgo(), now()))));
|
|
|
|
|
placeholders.registerStatic("network_sessions_play_time_week_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.playtime(weekAgo(), now())));
|
|
|
|
|
placeholders.registerStatic("network_sessions_play_time_month",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.playtime(monthAgo(), now()))));
|
|
|
|
|
placeholders.registerStatic("network_sessions_play_time_month_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.playtime(monthAgo(), now())));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
placeholders.registerStatic("sessions_recent_peak_count",
|
|
|
|
|
parameters -> database.query(TPSQueries.fetchPeakPlayerCount(getServerUUID(parameters), now() - TimeUnit.DAYS.toMillis(2L))).map(DateObj::getValue).orElse(0));
|
|
|
|
|
placeholders.registerStatic("sessions_recent_peak_date",
|
|
|
|
|
parameters -> database.query(TPSQueries.fetchPeakPlayerCount(getServerUUID(parameters), now() - TimeUnit.DAYS.toMillis(2L))).map(year).orElse("-"));
|
|
|
|
|
private void registerServerPlaytime(PlanPlaceholders placeholders) {
|
|
|
|
|
placeholders.registerStatic("sessions_play_time_total",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.playtime(0L, now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_play_time_total_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.playtime(0L, now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_play_time_day",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.playtime(dayAgo(), now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_play_time_day_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.playtime(dayAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_play_time_week",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.playtime(weekAgo(), now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_play_time_week_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.playtime(weekAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
placeholders.registerStatic("sessions_play_time_month",
|
|
|
|
|
parameters -> timeAmount.apply(database.query(SessionQueries.playtime(monthAgo(), now(), getServerUUID(parameters)))));
|
|
|
|
|
placeholders.registerStatic("sessions_play_time_month_raw",
|
|
|
|
|
parameters -> database.query(SessionQueries.playtime(monthAgo(), now(), getServerUUID(parameters))));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private ServerUUID getServerUUID(@Untrusted Arguments parameters) {
|
|
|
|
|