mirror of
https://github.com/Dreeam-qwq/Gale.git
synced 2025-12-23 08:49:28 +00:00
Simplify development run JVM arguments
This commit is contained in:
@@ -1,127 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Martijn Muijsers <martijnmuijsers@live.nl>
|
||||
Date: Sat, 24 Dec 2022 20:28:31 +0100
|
||||
Subject: [PATCH] Include hardware specs in timings
|
||||
|
||||
License: GPL-3.0 (https://www.gnu.org/licenses/gpl-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 636d0531a7962c3fd87dd3c476f11907b714daca..dc9d304257d86109c06ec9b7673d3ee27d5ee875 100644
|
||||
--- a/src/main/java/co/aikar/timings/TimingsExport.java
|
||||
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
|
||||
@@ -35,6 +35,7 @@ import org.bukkit.Material;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
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.json.simple.JSONObject;
|
||||
import org.json.simple.JSONValue;
|
||||
@@ -51,6 +52,8 @@ import java.lang.management.RuntimeMXBean;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.InetAddress;
|
||||
import java.net.URL;
|
||||
+import java.util.Arrays;
|
||||
+import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
@@ -134,6 +137,59 @@ public class TimingsExport extends Thread {
|
||||
|
||||
HardwareAbstractionLayer hardwareInfo = new SystemInfo().getHardware();
|
||||
|
||||
+ // Gale start - include hardware specs in timings
|
||||
+ var processor = hardwareInfo.getProcessor();
|
||||
+ var processorIdentifier = processor.getProcessorIdentifier();
|
||||
+ var memory = hardwareInfo.getMemory();
|
||||
+
|
||||
+ Map<String, Object> hardwareSpecsMap = new LinkedHashMap<>();
|
||||
+ if (GaleGlobalConfiguration.get().misc.includeInTimingsReport.hardwareSpecs.cpu) {
|
||||
+ hardwareSpecsMap.put("cpu", createObject(
|
||||
+ pair("logicalprocessorcount", processor.getLogicalProcessorCount()),
|
||||
+ pair("physicalprocessorcount", processor.getPhysicalProcessorCount()),
|
||||
+ pair("physicalpackagecount", processor.getPhysicalPackageCount()),
|
||||
+ pair("contextswitches", processor.getContextSwitches()),
|
||||
+ pair("interrupts", processor.getInterrupts()),
|
||||
+ pair("maxfreq", processor.getMaxFreq()),
|
||||
+ pair("currentfreq", Arrays.toString(processor.getCurrentFreq())),
|
||||
+ pair("identifier", createObject(
|
||||
+ pair("vendor", String.valueOf(processorIdentifier.getVendor()).trim()),
|
||||
+ pair("name", String.valueOf(processorIdentifier.getName()).trim()),
|
||||
+ pair("family", String.valueOf(processorIdentifier.getFamily()).trim()),
|
||||
+ pair("model", String.valueOf(processorIdentifier.getModel()).trim()),
|
||||
+ pair("vendor", String.valueOf(processorIdentifier.getVendor()).trim()),
|
||||
+ pair("cpu64bit", processorIdentifier.isCpu64bit()),
|
||||
+ pair("vendorfreq", processorIdentifier.getVendorFreq()),
|
||||
+ pair("microarchitecture", String.valueOf(processorIdentifier.getMicroarchitecture()).trim())
|
||||
+ ))
|
||||
+ ));
|
||||
+ }
|
||||
+ if (GaleGlobalConfiguration.get().misc.includeInTimingsReport.hardwareSpecs.disks) {
|
||||
+ hardwareSpecsMap.put("diskstores", toArrayMapper(hardwareInfo.getDiskStores(), disk -> createObject(
|
||||
+ pair("name", String.valueOf(disk.getName()).trim()),
|
||||
+ pair("model", String.valueOf(disk.getModel()).trim()),
|
||||
+ pair("serial", String.valueOf(disk.getSerial()).trim()),
|
||||
+ pair("size", disk.getSize())
|
||||
+ )));
|
||||
+ }
|
||||
+ if (GaleGlobalConfiguration.get().misc.includeInTimingsReport.hardwareSpecs.gpus) {
|
||||
+ hardwareSpecsMap.put("gpus", toArrayMapper(hardwareInfo.getGraphicsCards(), gpu -> createObject(
|
||||
+ pair("name", String.valueOf(gpu.getName()).trim()),
|
||||
+ pair("deviceid", String.valueOf(gpu.getDeviceId()).trim()),
|
||||
+ pair("vendor", String.valueOf(gpu.getVendor()).trim()),
|
||||
+ pair("versioninfo", String.valueOf(gpu.getVersionInfo()).trim()),
|
||||
+ pair("vram", gpu.getVRam())
|
||||
+ )));
|
||||
+ }
|
||||
+ if (GaleGlobalConfiguration.get().misc.includeInTimingsReport.hardwareSpecs.memory) {
|
||||
+ hardwareSpecsMap.put("memory", createObject(
|
||||
+ pair("total", memory.getTotal()),
|
||||
+ pair("available", memory.getAvailable()),
|
||||
+ pair("pagesize", memory.getPageSize())
|
||||
+ ));
|
||||
+ }
|
||||
+ // Gale end - include hardware specs in timings
|
||||
+
|
||||
parent.put("system", createObject(
|
||||
pair("timingcost", getCost()),
|
||||
pair("loadavg", osInfo.getSystemLoadAverage()),
|
||||
@@ -151,6 +207,7 @@ public class TimingsExport extends Thread {
|
||||
)),
|
||||
pair("cpu", runtime.availableProcessors()),
|
||||
pair("cpuname", hardwareInfo.getProcessor().getProcessorIdentifier().getName().trim()),
|
||||
+ pair("hardwarespecs", hardwareSpecsMap), // Gale - include hardware specs in timings
|
||||
pair("runtime", runtimeBean.getUptime()),
|
||||
pair("flags", StringUtils.join(runtimeBean.getInputArguments(), " ")),
|
||||
pair("gc", toObjectMapper(ManagementFactory.getGarbageCollectorMXBeans(), input -> pair(input.getName(), toArray(input.getCollectionCount(), input.getCollectionTime()))))
|
||||
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
|
||||
index dbb0f523608a9208e8c656898b18ce1b9505a1e0..2a3cd1baab364126d10a42c8ab59f3da8ca9bdfb 100644
|
||||
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
|
||||
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
|
||||
@@ -32,7 +32,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
|
||||
|
||||
public IncludeInTimingsReport includeInTimingsReport;
|
||||
public class IncludeInTimingsReport extends ConfigurationPart {
|
||||
-
|
||||
+
|
||||
// Gale start - include server.properties in timings
|
||||
public ServerProperties serverProperties;
|
||||
public class ServerProperties extends ConfigurationPart {
|
||||
@@ -52,6 +52,16 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
|
||||
}
|
||||
// Gale end - include server.properties in timings
|
||||
|
||||
+ // Gale start - include hardware specs in timings
|
||||
+ public HardwareSpecs hardwareSpecs;
|
||||
+ public class HardwareSpecs extends ConfigurationPart {
|
||||
+ public boolean cpu = true;
|
||||
+ public boolean disks = true;
|
||||
+ public boolean gpus = true;
|
||||
+ public boolean memory = true;
|
||||
+ }
|
||||
+ // Gale end - include hardware specs in timings
|
||||
+
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user