From b2196448f7c24a656a583c9b44df6c76154a0a5c Mon Sep 17 00:00:00 2001 From: James Seibel Date: Wed, 14 Jun 2023 19:42:16 -0500 Subject: [PATCH] Improve thread pool names --- .../bufferBuilding/ColumnRenderBufferBuilder.java | 4 ++-- .../transformers/DataRenderTransformer.java | 2 +- .../core/file/renderfile/RenderSourceFileHandler.java | 10 +++++----- .../file/subDimMatching/SubDimensionLevelMatcher.java | 2 +- .../com/seibel/lod/core/render/glObject/GLProxy.java | 3 ++- .../com/seibel/lod/core/world/DhClientServerWorld.java | 3 ++- .../java/com/seibel/lod/core/world/DhClientWorld.java | 3 ++- 7 files changed, 15 insertions(+), 12 deletions(-) diff --git a/core/src/main/java/com/seibel/lod/core/dataObjects/render/bufferBuilding/ColumnRenderBufferBuilder.java b/core/src/main/java/com/seibel/lod/core/dataObjects/render/bufferBuilding/ColumnRenderBufferBuilder.java index e011cfd4f..bf411dfff 100644 --- a/core/src/main/java/com/seibel/lod/core/dataObjects/render/bufferBuilding/ColumnRenderBufferBuilder.java +++ b/core/src/main/java/com/seibel/lod/core/dataObjects/render/bufferBuilding/ColumnRenderBufferBuilder.java @@ -38,7 +38,7 @@ public class ColumnRenderBufferBuilder private static final Logger LOGGER = DhLoggerBuilder.getLogger(); - public static ExecutorService bufferUploaderThreadPool = ThreadUtil.makeSingleThreadPool("ColumnBufferUploader"); + public static ExecutorService bufferUploaderThreadPool = ThreadUtil.makeSingleThreadPool("Column Buffer Uploader"); public static ExecutorService bufferBuilderThreadPool; private static ConfigChangeListener configListener; @@ -382,7 +382,7 @@ public class ColumnRenderBufferBuilder } public static void setThreadPoolSize(int threadPoolSize) { - bufferBuilderThreadPool = ThreadUtil.makeThreadPool(threadPoolSize, "BufferBuilder"); + bufferBuilderThreadPool = ThreadUtil.makeThreadPool(threadPoolSize, "Buffer Builder"); maxNumberOfConcurrentCalls = threadPoolSize * MAX_NUMBER_OF_CONCURRENT_CALLS_PER_THREAD; } diff --git a/core/src/main/java/com/seibel/lod/core/dataObjects/transformers/DataRenderTransformer.java b/core/src/main/java/com/seibel/lod/core/dataObjects/transformers/DataRenderTransformer.java index 5a2600a05..6ae445e43 100644 --- a/core/src/main/java/com/seibel/lod/core/dataObjects/transformers/DataRenderTransformer.java +++ b/core/src/main/java/com/seibel/lod/core/dataObjects/transformers/DataRenderTransformer.java @@ -87,7 +87,7 @@ public class DataRenderTransformer setThreadPoolSize(Config.Client.Advanced.MultiThreading.numberOfDataConverterThreads.get()); } } - public static void setThreadPoolSize(int threadPoolSize) { transformerThreadPool = ThreadUtil.makeThreadPool(threadPoolSize, "Data/Render Transformer"); } + public static void setThreadPoolSize(int threadPoolSize) { transformerThreadPool = ThreadUtil.makeThreadPool(threadPoolSize, "Full/Render Data Transformer"); } /** * Stops any executing tasks and destroys the executor.
diff --git a/core/src/main/java/com/seibel/lod/core/file/renderfile/RenderSourceFileHandler.java b/core/src/main/java/com/seibel/lod/core/file/renderfile/RenderSourceFileHandler.java index 9ca359e9b..fccd6c0e2 100644 --- a/core/src/main/java/com/seibel/lod/core/file/renderfile/RenderSourceFileHandler.java +++ b/core/src/main/java/com/seibel/lod/core/file/renderfile/RenderSourceFileHandler.java @@ -32,7 +32,7 @@ public class RenderSourceFileHandler implements ILodRenderSourceProvider private static final Logger LOGGER = DhLoggerBuilder.getLogger(); - private final ExecutorService renderCacheThread = ThreadUtil.makeSingleThreadPool("RenderCacheThread"); + private final ExecutorService fileHandlerThreadPool = ThreadUtil.makeSingleThreadPool("Render Source File Handler"); private final ConcurrentHashMap filesBySectionPos = new ConcurrentHashMap<>(); private final IDhClientLevel level; @@ -160,7 +160,7 @@ public class RenderSourceFileHandler implements ILodRenderSourceProvider public CompletableFuture readAsync(DhSectionPos pos) { // don't continue if the handler has been shut down - if (this.renderCacheThread.isTerminated()) + if (this.fileHandlerThreadPool.isTerminated()) { return CompletableFuture.completedFuture(null); } @@ -205,7 +205,7 @@ public class RenderSourceFileHandler implements ILodRenderSourceProvider } } - return metaFile.loadOrGetCachedDataSourceAsync(this.renderCacheThread, this.level).handle( + return metaFile.loadOrGetCachedDataSourceAsync(this.fileHandlerThreadPool, this.level).handle( (renderSource, exception) -> { if (exception != null) @@ -289,7 +289,7 @@ public class RenderSourceFileHandler implements ILodRenderSourceProvider ArrayList> futures = new ArrayList<>(); for (RenderMetaDataFile metaFile : this.filesBySectionPos.values()) { - futures.add(metaFile.flushAndSave(this.renderCacheThread)); + futures.add(metaFile.flushAndSave(this.fileHandlerThreadPool)); } return CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])) @@ -423,7 +423,7 @@ public class RenderSourceFileHandler implements ILodRenderSourceProvider ArrayList> futures = new ArrayList<>(); for (RenderMetaDataFile metaFile : this.filesBySectionPos.values()) { - futures.add(metaFile.flushAndSave(this.renderCacheThread)); + futures.add(metaFile.flushAndSave(this.fileHandlerThreadPool)); } CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])).join(); } diff --git a/core/src/main/java/com/seibel/lod/core/file/subDimMatching/SubDimensionLevelMatcher.java b/core/src/main/java/com/seibel/lod/core/file/subDimMatching/SubDimensionLevelMatcher.java index 7cdfe3146..95d94c92c 100644 --- a/core/src/main/java/com/seibel/lod/core/file/subDimMatching/SubDimensionLevelMatcher.java +++ b/core/src/main/java/com/seibel/lod/core/file/subDimMatching/SubDimensionLevelMatcher.java @@ -44,7 +44,7 @@ public class SubDimensionLevelMatcher implements AutoCloseable public static final ConfigBasedLogger LOGGER = new ConfigBasedLogger(LogManager.getLogger(), () -> Config.Client.Advanced.Logging.logFileSubDimEvent.get()); - private final ExecutorService matcherThread = ThreadUtil.makeSingleThreadPool("Level-To-File-Matcher"); + private final ExecutorService matcherThread = ThreadUtil.makeSingleThreadPool("Sub Dimension Matcher"); private SubDimensionPlayerData playerData = null; private SubDimensionPlayerData firstSeenPlayerData = null; diff --git a/core/src/main/java/com/seibel/lod/core/render/glObject/GLProxy.java b/core/src/main/java/com/seibel/lod/core/render/glObject/GLProxy.java index c241a6f18..1fe2f8712 100644 --- a/core/src/main/java/com/seibel/lod/core/render/glObject/GLProxy.java +++ b/core/src/main/java/com/seibel/lod/core/render/glObject/GLProxy.java @@ -28,6 +28,7 @@ import java.util.concurrent.TimeUnit; import com.seibel.lod.core.config.Config; import com.seibel.lod.core.logging.ConfigBasedLogger; import com.seibel.lod.core.logging.DhLoggerBuilder; +import com.seibel.lod.core.util.ThreadUtil; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.lwjgl.glfw.GLFW; @@ -69,7 +70,7 @@ public class GLProxy private static final IMinecraftClientWrapper MC = SingletonInjector.INSTANCE.get(IMinecraftClientWrapper.class); - private ExecutorService workerThread = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat(GLProxy.class.getSimpleName() + "-Worker-Thread").build()); + private ExecutorService workerThread = ThreadUtil.makeSingleThreadPool("GL Proxy Worker"); private static final Logger LOGGER = DhLoggerBuilder.getLogger(MethodHandles.lookup().lookupClass().getSimpleName()); public static final ConfigBasedLogger GL_LOGGER = new ConfigBasedLogger(LogManager.getLogger(GLProxy.class), diff --git a/core/src/main/java/com/seibel/lod/core/world/DhClientServerWorld.java b/core/src/main/java/com/seibel/lod/core/world/DhClientServerWorld.java index 676e00faf..02acc8083 100644 --- a/core/src/main/java/com/seibel/lod/core/world/DhClientServerWorld.java +++ b/core/src/main/java/com/seibel/lod/core/world/DhClientServerWorld.java @@ -23,7 +23,8 @@ public class DhClientServerWorld extends AbstractDhWorld implements IDhClientWor private final HashSet dhLevels; public final LocalSaveStructure saveStructure; - public ExecutorService dhTickerThread = ThreadUtil.makeSingleThreadPool("DHTickerThread", 2); + // TODO why does this executor have 2 threads? + public ExecutorService dhTickerThread = ThreadUtil.makeSingleThreadPool("DH Client Server World Ticker Thread", 2); public EventLoop eventLoop = new EventLoop(this.dhTickerThread, this::_clientTick); //TODO: Rate-limit the loop public F3Screen.DynamicMessage f3Message; diff --git a/core/src/main/java/com/seibel/lod/core/world/DhClientWorld.java b/core/src/main/java/com/seibel/lod/core/world/DhClientWorld.java index 556467ab4..e62a3ea6f 100644 --- a/core/src/main/java/com/seibel/lod/core/world/DhClientWorld.java +++ b/core/src/main/java/com/seibel/lod/core/world/DhClientWorld.java @@ -22,7 +22,8 @@ public class DhClientWorld extends AbstractDhWorld implements IDhClientWorld private final HashMap levels; public final ClientOnlySaveStructure saveStructure; - public ExecutorService dhTickerThread = ThreadUtil.makeSingleThreadPool("DHTickerThread", 2); + // TODO why does this executor have 2 threads? + public ExecutorService dhTickerThread = ThreadUtil.makeSingleThreadPool("DH Client World Ticker Thread", 2); public EventLoop eventLoop = new EventLoop(this.dhTickerThread, this::_clientTick);