提交 4077a0cc 编写于 作者: F Frankie Wu

thread names starting with Cat-

上级 e707ef73
......@@ -150,10 +150,10 @@ public class RealtimeConsumer extends ContainerHolder implements MessageConsumer
public void initialize() throws InitializationException {
m_periodManager = new PeriodManager();
Threads.forGroup().start(m_periodManager);
Threads.forGroup("Cat").start(m_periodManager);
if (m_uploader != null && !m_uploader.isLocalMode()) {
Threads.forGroup().start(m_uploader);
Threads.forGroup("Cat").start(m_uploader);
}
}
......@@ -276,7 +276,7 @@ public class RealtimeConsumer extends ContainerHolder implements MessageConsumer
df.format(new Date(m_startTime)), df.format(new Date(m_endTime - 1))));
for (PeriodTask task : m_tasks) {
Threads.forGroup("RealtimeConsumer").start(task);
Threads.forGroup("Cat-RealtimeConsumer").start(task);
}
}
......@@ -287,7 +287,7 @@ public class RealtimeConsumer extends ContainerHolder implements MessageConsumer
}
}
class PeriodManager implements Threads.Task {
class PeriodManager implements Task {
private PeriodStrategy m_strategy;
private List<Period> m_periods = new ArrayList<RealtimeConsumer.Period>();
......
......@@ -29,7 +29,7 @@ public class DumpChannel {
public DumpChannel(MessageCodec codec, File baseDir, String path, long maxSize, long lastChunkAdjust)
throws IOException {
m_codec = codec;
m_file = new File(baseDir, path);
m_file = new File(baseDir, path).getCanonicalFile();
m_path = path;
m_maxSize = maxSize;
m_lastChunkAdjust = lastChunkAdjust;
......
......@@ -66,7 +66,7 @@ public class DumpUploader implements Initializable, LogEnabled {
public void start() {
// only start at first time and long running
if (m_job == null) {
m_job = Threads.forGroup().start(new WriteJob());
m_job = Threads.forGroup("Cat").start(new WriteJob());
}
}
......
......@@ -220,10 +220,10 @@ public class LogviewUploader implements Task, Initializable, LogEnabled {
String content = Joiners.by('\n').join(m_queue);
try {
Files.forIO().writeTo(m_file, content);
Files.forIO().writeTo(m_file.getCanonicalFile(), content);
m_logger.info(String.format("TODO file(%s) persisted!", m_file));
} catch (IOException e) {
} catch (Exception e) {
m_logger.error("Error when persisting TODO list.", e);
}
}
......
......@@ -91,13 +91,16 @@ public class Cat {
}
ClientConfig config = loadClientConfig(configFile);
Cat instance = getInstance();
instance.m_logger.info("Current working directory is " + System.getProperty("user.dir"));
if (config != null) {
getInstance().m_manager.initializeClient(config);
getInstance().m_logger.info("Cat client is initialized!");
instance.m_manager.initializeClient(config);
instance.m_logger.info("Cat client is initialized!");
} else {
getInstance().m_manager.initializeClient(null);
getInstance().m_logger.warn("Cat client is disabled due to no config file found!");
instance.m_manager.initializeClient(null);
instance.m_logger.warn("Cat client is disabled due to no config file found!");
}
}
......@@ -202,7 +205,7 @@ public class Cat {
public void onThreadGroupCreated(ThreadGroup group, String name) {
m_logger.info(String.format("Thread group(%s) created.", name));
}
@Override
public void onThreadPoolCreated(ExecutorService pool, String name) {
m_logger.info(String.format("Thread pool(%s) created.", name));
......
......@@ -178,7 +178,7 @@ public class ServerConfigManager implements LogEnabled {
m_logger.warn("CAT server is running in LOCAL mode! No HDFS or MySQL will be accessed!");
}
Threads.forGroup().start(new ServerConfigReloader(configFile));
Threads.forGroup("Cat").start(new ServerConfigReloader(configFile));
}
public boolean isLocalMode() {
......@@ -225,7 +225,7 @@ public class ServerConfigManager implements LogEnabled {
static class ServerConfigReloader implements Task {
private File m_file;
private volatile boolean m_active;
private volatile boolean m_active = true;
public ServerConfigReloader(File file) {
m_file = file;
......@@ -238,7 +238,7 @@ public class ServerConfigManager implements LogEnabled {
if (m_file.exists()) {
// TODO
}
Thread.sleep(2000L);
} catch (InterruptedException e) {
m_active = false;
......
......@@ -170,7 +170,7 @@ public class DefaultMessageManager extends ContainerHolder implements MessageMan
m_factory.initialize(m_domain.getId());
// start status update task
Threads.forGroup().start(m_statusUpdateTask);
Threads.forGroup("Cat").start(m_statusUpdateTask);
}
@Override
......
......@@ -85,8 +85,8 @@ public class TcpSocketHierarchySender implements Task, MessageSender, LogEnabled
public void initialize() {
m_manager = new ChannelManager(m_logger, m_serverAddresses);
Threads.forGroup().start(this);
Threads.forGroup().start(m_manager);
Threads.forGroup("Cat").start(this);
Threads.forGroup("Cat").start(m_manager);
}
@Override
......
......@@ -69,8 +69,8 @@ public class TcpSocketReceiver implements MessageReceiver, LogEnabled {
m_queue = new LinkedBlockingQueue<ChannelBuffer>();
ExecutorService bossExecutor = Threads.forPool().getCachedThreadPool("TcpSocketReceiver-Boss");
ExecutorService workerExecutor = Threads.forPool().getCachedThreadPool("TcpSocketReceiver-Worker");
ExecutorService bossExecutor = Threads.forPool().getCachedThreadPool("Cat-TcpSocketReceiver-Boss");
ExecutorService workerExecutor = Threads.forPool().getCachedThreadPool("Cat-TcpSocketReceiver-Worker");
ChannelFactory factory = new NioServerSocketChannelFactory(bossExecutor, workerExecutor);
ServerBootstrap bootstrap = new ServerBootstrap(factory);
......
......@@ -69,8 +69,8 @@ public class TcpSocketSender implements Task, MessageSender, LogEnabled {
throw new RuntimeException("No server address was configured for TcpSocketSender!");
}
ExecutorService bossExecutor = Threads.forPool().getFixedThreadPool("TcpSocketSender-Boss", 10);
ExecutorService workerExecutor = Threads.forPool().getFixedThreadPool("TcpSocketSender-Worker", 10);
ExecutorService bossExecutor = Threads.forPool().getFixedThreadPool("Cat-TcpSocketSender-Boss", 10);
ExecutorService workerExecutor = Threads.forPool().getFixedThreadPool("Cat-TcpSocketSender-Worker", 10);
ChannelFactory factory = new NioClientSocketChannelFactory(bossExecutor, workerExecutor);
ClientBootstrap bootstrap = new ClientBootstrap(factory);
......@@ -96,7 +96,7 @@ public class TcpSocketSender implements Task, MessageSender, LogEnabled {
}
m_bootstrap = bootstrap;
Threads.forGroup().start(this);
Threads.forGroup("Cat").start(this);
}
public void reconnect() {
......
......@@ -52,7 +52,7 @@ public class DefaultMessageStorage implements MessageStorage, Initializable, Log
@Override
public void initialize() throws InitializationException {
Threads.forGroup().start(m_job);
Threads.forGroup("Cat").start(m_job);
}
@Override
......
......@@ -4,6 +4,7 @@ import java.io.IOException;
import java.lang.management.ManagementFactory;
import java.lang.management.ThreadInfo;
import java.lang.management.ThreadMXBean;
import java.util.TreeMap;
import javax.servlet.ServletException;
......@@ -59,18 +60,35 @@ public class Handler implements PageHandler<Context> {
private void showThreadDump(Model model, Payload payload) {
ThreadMXBean bean = ManagementFactory.getThreadMXBean();
ThreadInfo[] threads = bean.dumpAllThreads(true, true);
StringBuilder sb = new StringBuilder(8096);
StringBuilder sb = new StringBuilder(32768);
int index = 1;
TreeMap<String, ThreadInfo> sortedThreads = new TreeMap<String, ThreadInfo>();
for (ThreadInfo thread : threads) {
sortedThreads.put(thread.getThreadName(), thread);
}
sb.append("Threads: ").append(threads.length);
sb.append("<pre>");
for (ThreadInfo thread: threads) {
sb.append(index++).append(": ").append(thread).append("\r\n");
for (ThreadInfo thread : sortedThreads.values()) {
sb.append(index++).append(": <a href=\"#").append(thread.getThreadId()).append("\">")
.append(thread.getThreadName()).append("</a>\r\n");
}
sb.append("\r\n");
sb.append("\r\n");
sb.append("</pre>");
index = 1;
for (ThreadInfo thread : sortedThreads.values()) {
sb.append("<a name=\"").append(thread.getThreadId()).append("\">").append(index++).append(": ")
.append(thread).append("\r\n");
}
sb.append("</pre>");
model.setContent(sb.toString());
}
}
......@@ -77,7 +77,7 @@ public class CatServlet extends AbstractContainerServlet {
final DefaultMessageHandler handler = (DefaultMessageHandler) lookup(MessageHandler.class);
Threads.forGroup().start(handler);
Threads.forGroup("Cat").start(handler);
} catch (Exception e) {
m_exception = e;
throw new RuntimeException("Error when initializing CatServlet, "
......
......@@ -59,7 +59,7 @@
<dependency>
<groupId>com.site.common</groupId>
<artifactId>web-framework</artifactId>
<version>1.0.8</version>
<version>1.0.9</version>
</dependency>
<dependency>
<groupId>org.unidal.webres</groupId>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册