From: AsamK Date: Sat, 29 Jan 2022 14:01:34 +0000 (+0100) Subject: Add more informative thread names X-Git-Tag: v0.10.3~4 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/380c892e24fe2d60cd8963855511c15ca9858e7b?ds=inline Add more informative thread names --- diff --git a/lib/src/main/java/org/asamk/signal/manager/ManagerImpl.java b/lib/src/main/java/org/asamk/signal/manager/ManagerImpl.java index 7c8cff5d..fd536d10 100644 --- a/lib/src/main/java/org/asamk/signal/manager/ManagerImpl.java +++ b/lib/src/main/java/org/asamk/signal/manager/ManagerImpl.java @@ -81,6 +81,7 @@ import java.util.Set; import java.util.UUID; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.locks.ReentrantLock; import java.util.function.Function; import java.util.stream.Collectors; @@ -749,6 +750,8 @@ public class ManagerImpl implements Manager { } } + private static final AtomicInteger threadNumber = new AtomicInteger(0); + private void startReceiveThreadIfRequired() { if (receiveThread != null) { return; @@ -784,6 +787,7 @@ public class ManagerImpl implements Manager { } } }); + receiveThread.setName("receive-" + threadNumber.getAndIncrement()); receiveThread.start(); } diff --git a/lib/src/main/java/org/asamk/signal/manager/storage/sendLog/MessageSendLogStore.java b/lib/src/main/java/org/asamk/signal/manager/storage/sendLog/MessageSendLogStore.java index 795919f6..98f4ac69 100644 --- a/lib/src/main/java/org/asamk/signal/manager/storage/sendLog/MessageSendLogStore.java +++ b/lib/src/main/java/org/asamk/signal/manager/storage/sendLog/MessageSendLogStore.java @@ -62,6 +62,7 @@ public class MessageSendLogStore implements AutoCloseable { logger.debug("Stopping msl cleanup thread"); } }); + cleanupThread.setName("msl-cleanup"); cleanupThread.setDaemon(true); cleanupThread.start(); } diff --git a/src/main/java/org/asamk/signal/commands/DaemonCommand.java b/src/main/java/org/asamk/signal/commands/DaemonCommand.java index 020c91c1..34a80226 100644 --- a/src/main/java/org/asamk/signal/commands/DaemonCommand.java +++ b/src/main/java/org/asamk/signal/commands/DaemonCommand.java @@ -36,6 +36,7 @@ import java.nio.channels.SocketChannel; import java.nio.charset.StandardCharsets; import java.util.List; import java.util.Objects; +import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Consumer; public class DaemonCommand implements MultiLocalCommand, LocalCommand { @@ -234,8 +235,10 @@ public class DaemonCommand implements MultiLocalCommand, LocalCommand { }); } + private static final AtomicInteger threadNumber = new AtomicInteger(0); + private void runSocket(final ServerSocketChannel serverChannel, Consumer socketHandler) { - new Thread(() -> { + final var thread = new Thread(() -> { while (true) { final SocketChannel channel; final String clientString; @@ -250,16 +253,20 @@ public class DaemonCommand implements MultiLocalCommand, LocalCommand { } break; } - new Thread(() -> { + final var connectionThread = new Thread(() -> { try (final var c = channel) { socketHandler.accept(c); logger.info("Connection closed: " + clientString); } catch (IOException e) { logger.warn("Failed to close channel", e); } - }).start(); + }); + connectionThread.setName("daemon-connection-" + threadNumber.getAndIncrement()); + connectionThread.start(); } - }).start(); + }); + thread.setName("daemon-listener"); + thread.start(); } private SignalJsonRpcDispatcherHandler getSignalJsonRpcDispatcherHandler( @@ -367,6 +374,7 @@ public class DaemonCommand implements MultiLocalCommand, LocalCommand { final var signal = new DbusSignalImpl(m, conn, objectPath, noReceiveOnStart); conn.exportObject(signal); final var initThread = new Thread(signal::initObjects); + initThread.setName("dbus-init"); initThread.start(); logger.debug("Exported dbus object: " + objectPath); diff --git a/src/main/java/org/asamk/signal/dbus/DbusSignalControlImpl.java b/src/main/java/org/asamk/signal/dbus/DbusSignalControlImpl.java index a11d8fa0..2d211444 100644 --- a/src/main/java/org/asamk/signal/dbus/DbusSignalControlImpl.java +++ b/src/main/java/org/asamk/signal/dbus/DbusSignalControlImpl.java @@ -96,14 +96,16 @@ public class DbusSignalControlImpl implements org.asamk.SignalControl { public String link(final String newDeviceName) throws Error.Failure { try { final URI deviceLinkUri = c.getNewProvisioningDeviceLinkUri(); - new Thread(() -> { + final var thread = new Thread(() -> { final ProvisioningManager provisioningManager = c.getProvisioningManagerFor(deviceLinkUri); try { provisioningManager.finishDeviceLink(newDeviceName); } catch (IOException | TimeoutException | UserAlreadyExists e) { e.printStackTrace(); } - }).start(); + }); + thread.setName("dbus-link"); + thread.start(); return deviceLinkUri.toString(); } catch (TimeoutException | IOException e) { throw new SignalControl.Error.Failure(e.getClass().getSimpleName() + " " + e.getMessage());