mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2024-10-02 08:27:47 +02:00
Added benchmarks to Analysis
This commit is contained in:
parent
3ef1e06389
commit
af2c9a86f3
@ -10,6 +10,8 @@ import com.djrapitops.plan.data.store.mutators.formatting.PlaceholderReplacer;
|
||||
import com.djrapitops.plan.system.webserver.response.errors.ErrorResponse;
|
||||
import com.djrapitops.plan.utilities.FormatUtils;
|
||||
import com.djrapitops.plan.utilities.file.FileUtil;
|
||||
import com.djrapitops.plugin.api.Benchmark;
|
||||
import com.djrapitops.plugin.api.utility.log.Log;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
@ -23,6 +25,7 @@ import static com.djrapitops.plan.data.store.keys.AnalysisKeys.*;
|
||||
public class AnalysisPage implements Page {
|
||||
|
||||
private final AnalysisContainer analysisContainer;
|
||||
private static final String DEBUG = "Analysis";
|
||||
|
||||
public AnalysisPage(AnalysisContainer analysisContainer) {
|
||||
this.analysisContainer = analysisContainer;
|
||||
@ -38,6 +41,7 @@ public class AnalysisPage implements Page {
|
||||
|
||||
@Override
|
||||
public String toHtml() throws ParseException {
|
||||
Benchmark.start(DEBUG);
|
||||
PlaceholderReplacer placeholderReplacer = new PlaceholderReplacer();
|
||||
placeholderReplacer.addAllPlaceholdersFrom(analysisContainer,
|
||||
VERSION, SERVER_NAME, TIME_ZONE,
|
||||
@ -46,36 +50,91 @@ public class AnalysisPage implements Page {
|
||||
|
||||
WORLD_PIE_COLORS, GM_PIE_COLORS, ACTIVITY_PIE_COLORS,
|
||||
PLAYERS_GRAPH_COLOR, TPS_HIGH_COLOR, TPS_MEDIUM_COLOR,
|
||||
TPS_LOW_COLOR, WORLD_MAP_HIGH_COLOR, WORLD_MAP_LOW_COLOR,
|
||||
TPS_LOW_COLOR, WORLD_MAP_HIGH_COLOR, WORLD_MAP_LOW_COLOR
|
||||
);
|
||||
playersTable(placeholderReplacer);
|
||||
sessionStructures(placeholderReplacer);
|
||||
serverHealth(placeholderReplacer);
|
||||
pluginsTabs(placeholderReplacer);
|
||||
miscTotals(placeholderReplacer);
|
||||
playerActivityNumbers(placeholderReplacer);
|
||||
chartSeries(placeholderReplacer);
|
||||
performanceNumbers(placeholderReplacer);
|
||||
|
||||
PLAYERS_TABLE, SESSION_ACCORDION_HTML, SESSION_ACCORDION_FUNCTIONS,
|
||||
SESSION_TABLE, RECENT_LOGINS, COMMAND_USAGE_TABLE,
|
||||
HEALTH_NOTES, PLUGINS_TAB, PLUGINS_TAB_NAV,
|
||||
try {
|
||||
return placeholderReplacer.apply(FileUtil.getStringFromResource("web/server.html"));
|
||||
} catch (IOException e) {
|
||||
throw new ParseException(e);
|
||||
} finally {
|
||||
Benchmark.stop(DEBUG, DEBUG);
|
||||
Log.logDebug(DEBUG);
|
||||
}
|
||||
}
|
||||
|
||||
private void serverHealth(PlaceholderReplacer placeholderReplacer) {
|
||||
Benchmark.start(DEBUG + " Server Health");
|
||||
placeholderReplacer.addAllPlaceholdersFrom(analysisContainer,
|
||||
HEALTH_NOTES
|
||||
);
|
||||
Benchmark.stop(DEBUG, DEBUG + " Server Health");
|
||||
}
|
||||
|
||||
private void sessionStructures(PlaceholderReplacer placeholderReplacer) {
|
||||
Benchmark.start(DEBUG + " Session Structures");
|
||||
placeholderReplacer.addAllPlaceholdersFrom(analysisContainer,
|
||||
SESSION_ACCORDION_HTML, SESSION_ACCORDION_FUNCTIONS,
|
||||
SESSION_TABLE, RECENT_LOGINS,
|
||||
COMMAND_USAGE_TABLE);
|
||||
Benchmark.stop(DEBUG, DEBUG + " Session Structures");
|
||||
}
|
||||
|
||||
private void playersTable(PlaceholderReplacer placeholderReplacer) {
|
||||
Benchmark.start(DEBUG + " Players Table");
|
||||
placeholderReplacer.addAllPlaceholdersFrom(analysisContainer,
|
||||
PLAYERS_TABLE);
|
||||
Benchmark.stop(DEBUG, DEBUG + " Players Table");
|
||||
}
|
||||
|
||||
private void pluginsTabs(PlaceholderReplacer placeholderReplacer) {
|
||||
Benchmark.start(DEBUG + " 3rd Party");
|
||||
placeholderReplacer.addAllPlaceholdersFrom(analysisContainer,
|
||||
PLUGINS_TAB, PLUGINS_TAB_NAV
|
||||
);
|
||||
Benchmark.stop(DEBUG, DEBUG + " 3rd Party");
|
||||
}
|
||||
|
||||
private void miscTotals(PlaceholderReplacer placeholderReplacer) {
|
||||
Benchmark.start(DEBUG + " Misc. totals");
|
||||
placeholderReplacer.addAllPlaceholdersFrom(analysisContainer,
|
||||
REFRESH_TIME_F, LAST_PEAK_TIME_F, ALL_TIME_PEAK_TIME_F,
|
||||
AVERAGE_SESSION_LENGTH_F, AVERAGE_PLAYTIME_F, PLAYTIME_F,
|
||||
|
||||
PLAYERS_LAST_PEAK, PLAYERS_ALL_TIME_PEAK, OPERATORS,
|
||||
PLAYERS_REGULAR, SESSION_COUNT, DEATHS,
|
||||
MOB_KILL_COUNT, PLAYER_KILL_COUNT, HEALTH_INDEX,
|
||||
COMMAND_COUNT, COMMAND_COUNT_UNIQUE,
|
||||
COMMAND_COUNT, COMMAND_COUNT_UNIQUE
|
||||
);
|
||||
Benchmark.stop(DEBUG, DEBUG + " Misc. totals");
|
||||
}
|
||||
|
||||
private void playerActivityNumbers(PlaceholderReplacer placeholderReplacer) {
|
||||
Benchmark.start(DEBUG + " Online Activity Numbers");
|
||||
placeholderReplacer.addAllPlaceholdersFrom(analysisContainer,
|
||||
PLAYERS_DAY, PLAYERS_WEEK, PLAYERS_MONTH,
|
||||
PLAYERS_NEW_DAY, PLAYERS_NEW_WEEK, PLAYERS_NEW_MONTH,
|
||||
AVG_PLAYERS, AVG_PLAYERS_DAY, AVG_PLAYERS_WEEK,
|
||||
AVG_PLAYERS_MONTH, AVG_PLAYERS_NEW, AVG_PLAYERS_NEW_DAY,
|
||||
AVG_PLAYERS_NEW_WEEK, AVG_PLAYERS_NEW_MONTH, PLAYERS_RETAINED_DAY,
|
||||
PLAYERS_RETAINED_DAY_PERC, PLAYERS_RETAINED_WEEK, PLAYERS_RETAINED_WEEK_PERC,
|
||||
PLAYERS_RETAINED_MONTH, PLAYERS_RETAINED_MONTH_PERC,
|
||||
PLAYERS_RETAINED_MONTH, PLAYERS_RETAINED_MONTH_PERC
|
||||
);
|
||||
Benchmark.stop(DEBUG, DEBUG + " Online Activity Numbers");
|
||||
}
|
||||
|
||||
TPS_SPIKE_MONTH, TPS_SPIKE_WEEK, TPS_SPIKE_DAY,
|
||||
|
||||
WORLD_PIE_SERIES, GM_PIE_SERIES, PLAYERS_ONLINE_SERIES,
|
||||
TPS_SERIES, CPU_SERIES, RAM_SERIES,
|
||||
ENTITY_SERIES, CHUNK_SERIES, PUNCHCARD_SERIES,
|
||||
WORLD_MAP_SERIES, ACTIVITY_STACK_SERIES, ACTIVITY_STACK_CATEGORIES,
|
||||
ACTIVITY_PIE_SERIES, CALENDAR_SERIES,
|
||||
UNIQUE_PLAYERS_SERIES, NEW_PLAYERS_SERIES
|
||||
private void performanceNumbers(PlaceholderReplacer placeholderReplacer) {
|
||||
Benchmark.start(DEBUG + " Performance Numbers");
|
||||
placeholderReplacer.addAllPlaceholdersFrom(analysisContainer,
|
||||
TPS_SPIKE_MONTH, TPS_SPIKE_WEEK, TPS_SPIKE_DAY
|
||||
);
|
||||
placeholderReplacer.addAllPlaceholdersFrom(analysisContainer, FormatUtils::cutDecimals,
|
||||
AVG_TPS_MONTH, AVG_TPS_WEEK, AVG_TPS_DAY,
|
||||
@ -87,11 +146,19 @@ public class AnalysisPage implements Page {
|
||||
value -> value != -1 ? FormatUtils.cutDecimals(value) : "Unavailable",
|
||||
AVG_CPU_MONTH, AVG_CPU_WEEK, AVG_CPU_DAY
|
||||
);
|
||||
Benchmark.stop(DEBUG, DEBUG + " Performance Numbers");
|
||||
}
|
||||
|
||||
try {
|
||||
return placeholderReplacer.apply(FileUtil.getStringFromResource("web/server.html"));
|
||||
} catch (IOException e) {
|
||||
throw new ParseException(e);
|
||||
}
|
||||
private void chartSeries(PlaceholderReplacer placeholderReplacer) {
|
||||
Benchmark.start(DEBUG + " Chart Series");
|
||||
placeholderReplacer.addAllPlaceholdersFrom(analysisContainer,
|
||||
WORLD_PIE_SERIES, GM_PIE_SERIES, PLAYERS_ONLINE_SERIES,
|
||||
TPS_SERIES, CPU_SERIES, RAM_SERIES,
|
||||
ENTITY_SERIES, CHUNK_SERIES, PUNCHCARD_SERIES,
|
||||
WORLD_MAP_SERIES, ACTIVITY_STACK_SERIES, ACTIVITY_STACK_CATEGORIES,
|
||||
ACTIVITY_PIE_SERIES, CALENDAR_SERIES,
|
||||
UNIQUE_PLAYERS_SERIES, NEW_PLAYERS_SERIES
|
||||
);
|
||||
Benchmark.stop(DEBUG, DEBUG + " Chart Series");
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user