9
0
mirror of https://github.com/Dreeam-qwq/Gale.git synced 2025-12-22 16:29:26 +00:00

Include CPU cores estimation in timings

This commit is contained in:
Martijn Muijsers
2022-12-24 22:11:38 +01:00
parent b7e35d62ca
commit dc90f381ed
8 changed files with 42 additions and 3 deletions

View File

@@ -113,14 +113,15 @@ index 8f8fd98f96cd390ba43033521982a13044df91cf..dbb0f523608a9208e8c656898b18ce1b
}
diff --git a/src/main/java/org/galemc/gale/configuration/timingsexport/VanillaServerPropertiesTimingsExport.java b/src/main/java/org/galemc/gale/configuration/timingsexport/VanillaServerPropertiesTimingsExport.java
new file mode 100644
index 0000000000000000000000000000000000000000..b8c2d4e74d99d1f955d300d403f519cd68017ac4
index 0000000000000000000000000000000000000000..9d9ee3f38f04cfc4fcab00b8ff5558e75674da11
--- /dev/null
+++ b/src/main/java/org/galemc/gale/configuration/timingsexport/VanillaServerPropertiesTimingsExport.java
@@ -0,0 +1,120 @@
@@ -0,0 +1,128 @@
+// Gale - include server.properties in timings
+
+package org.galemc.gale.configuration.timingsexport;
+
+import co.aikar.timings.TimingsExport;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.server.dedicated.DedicatedServer;
+import org.galemc.gale.configuration.GaleGlobalConfiguration;
@@ -129,6 +130,13 @@ index 0000000000000000000000000000000000000000..b8c2d4e74d99d1f955d300d403f519cd
+
+import java.util.Optional;
+
+/**
+ * Exports the vanilla server.properties to a JSON object, to be included in a timings report.
+ *
+ * @see TimingsExport
+ *
+ * @author Martijn Muijsers under GPL-3.0
+ */
+public final class VanillaServerPropertiesTimingsExport {
+
+ private VanillaServerPropertiesTimingsExport() {}
@@ -138,7 +146,7 @@ index 0000000000000000000000000000000000000000..b8c2d4e74d99d1f955d300d403f519cd
+
+ var json = new JSONObject();
+ var properties = ((DedicatedServer) MinecraftServer.getServer()).getProperties();
+ var includeConfig = GaleGlobalConfiguration.get().misc.includeInTimingsReport;
+ var includeConfig = GaleGlobalConfiguration.get().misc.includeInTimingsReport.serverProperties;
+
+ json.put("allow-flight", String.valueOf(properties.allowFlight));
+ json.put("allow-nether", String.valueOf(properties.allowNether));

View File

@@ -0,0 +1,31 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martijn Muijsers <martijnmuijsers@live.nl>
Date: Sat, 24 Dec 2022 22:03:32 +0100
Subject: [PATCH] Include CPU cores estimation in timings
License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html)
Gale - https://galemc.org
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
index dc9d304257d86109c06ec9b7673d3ee27d5ee875..32da69dcab868d2fa9775c6384c4403be10c0c97 100644
--- a/src/main/java/co/aikar/timings/TimingsExport.java
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
@@ -37,6 +37,7 @@ import org.bukkit.configuration.MemorySection;
import org.bukkit.entity.EntityType;
import org.galemc.gale.configuration.GaleGlobalConfiguration;
import org.galemc.gale.configuration.timingsexport.VanillaServerPropertiesTimingsExport;
+import org.galemc.gale.util.CPUCoresEstimation;
import org.json.simple.JSONObject;
import org.json.simple.JSONValue;
import oshi.SystemInfo;
@@ -206,6 +207,10 @@ public class TimingsExport extends Thread {
pair("finalizing", ManagementFactory.getMemoryMXBean().getObjectPendingFinalizationCount())
)),
pair("cpu", runtime.availableProcessors()),
+ // Gale start - include CPU cores estimation in timings
+ pair("cpucoresestimation", CPUCoresEstimation.get()),
+ pair("cpuphysicalprocessorcount", processor.getPhysicalProcessorCount()),
+ // Gale end - include CPU cores estimation in timings
pair("cpuname", hardwareInfo.getProcessor().getProcessorIdentifier().getName().trim()),
pair("hardwarespecs", hardwareSpecsMap), // Gale - include hardware specs in timings
pair("runtime", runtimeBean.getUptime()),