Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦中观雨
cat
提交
4077a0cc
C
cat
项目概览
梦中观雨
/
cat
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
cat
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4077a0cc
编写于
4月 16, 2012
作者:
F
Frankie Wu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
thread names starting with Cat-
上级
e707ef73
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
53 addition
and
32 deletion
+53
-32
cat-consumer/src/main/java/com/dianping/cat/consumer/RealtimeConsumer.java
...main/java/com/dianping/cat/consumer/RealtimeConsumer.java
+4
-4
cat-consumer/src/main/java/com/dianping/cat/consumer/dump/DumpChannel.java
...main/java/com/dianping/cat/consumer/dump/DumpChannel.java
+1
-1
cat-consumer/src/main/java/com/dianping/cat/consumer/dump/DumpUploader.java
...ain/java/com/dianping/cat/consumer/dump/DumpUploader.java
+1
-1
cat-consumer/src/main/java/com/dianping/cat/consumer/logview/LogviewUploader.java
...va/com/dianping/cat/consumer/logview/LogviewUploader.java
+2
-2
cat-core/src/main/java/com/dianping/cat/Cat.java
cat-core/src/main/java/com/dianping/cat/Cat.java
+8
-5
cat-core/src/main/java/com/dianping/cat/configuration/ServerConfigManager.java
...a/com/dianping/cat/configuration/ServerConfigManager.java
+3
-3
cat-core/src/main/java/com/dianping/cat/message/internal/DefaultMessageManager.java
.../dianping/cat/message/internal/DefaultMessageManager.java
+1
-1
cat-core/src/main/java/com/dianping/cat/message/io/TcpSocketHierarchySender.java
...com/dianping/cat/message/io/TcpSocketHierarchySender.java
+2
-2
cat-core/src/main/java/com/dianping/cat/message/io/TcpSocketReceiver.java
...n/java/com/dianping/cat/message/io/TcpSocketReceiver.java
+2
-2
cat-core/src/main/java/com/dianping/cat/message/io/TcpSocketSender.java
...ain/java/com/dianping/cat/message/io/TcpSocketSender.java
+3
-3
cat-core/src/main/java/com/dianping/cat/message/spi/internal/DefaultMessageStorage.java
...nping/cat/message/spi/internal/DefaultMessageStorage.java
+1
-1
cat-home/src/main/java/com/dianping/cat/report/page/home/Handler.java
.../main/java/com/dianping/cat/report/page/home/Handler.java
+23
-5
cat-home/src/main/java/com/dianping/cat/servlet/CatServlet.java
...me/src/main/java/com/dianping/cat/servlet/CatServlet.java
+1
-1
pom.xml
pom.xml
+1
-1
未找到文件。
cat-consumer/src/main/java/com/dianping/cat/consumer/RealtimeConsumer.java
浏览文件 @
4077a0cc
...
...
@@ -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
T
hreads
.
T
ask
{
class
PeriodManager
implements
Task
{
private
PeriodStrategy
m_strategy
;
private
List
<
Period
>
m_periods
=
new
ArrayList
<
RealtimeConsumer
.
Period
>();
...
...
cat-consumer/src/main/java/com/dianping/cat/consumer/dump/DumpChannel.java
浏览文件 @
4077a0cc
...
...
@@ -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
;
...
...
cat-consumer/src/main/java/com/dianping/cat/consumer/dump/DumpUploader.java
浏览文件 @
4077a0cc
...
...
@@ -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
());
}
}
...
...
cat-consumer/src/main/java/com/dianping/cat/consumer/logview/LogviewUploader.java
浏览文件 @
4077a0cc
...
...
@@ -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
(
IO
Exception
e
)
{
}
catch
(
Exception
e
)
{
m_logger
.
error
(
"Error when persisting TODO list."
,
e
);
}
}
...
...
cat-core/src/main/java/com/dianping/cat/Cat.java
浏览文件 @
4077a0cc
...
...
@@ -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
));
...
...
cat-core/src/main/java/com/dianping/cat/configuration/ServerConfigManager.java
浏览文件 @
4077a0cc
...
...
@@ -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
;
...
...
cat-core/src/main/java/com/dianping/cat/message/internal/DefaultMessageManager.java
浏览文件 @
4077a0cc
...
...
@@ -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
...
...
cat-core/src/main/java/com/dianping/cat/message/io/TcpSocketHierarchySender.java
浏览文件 @
4077a0cc
...
...
@@ -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
...
...
cat-core/src/main/java/com/dianping/cat/message/io/TcpSocketReceiver.java
浏览文件 @
4077a0cc
...
...
@@ -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
);
...
...
cat-core/src/main/java/com/dianping/cat/message/io/TcpSocketSender.java
浏览文件 @
4077a0cc
...
...
@@ -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
()
{
...
...
cat-core/src/main/java/com/dianping/cat/message/spi/internal/DefaultMessageStorage.java
浏览文件 @
4077a0cc
...
...
@@ -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
...
...
cat-home/src/main/java/com/dianping/cat/report/page/home/Handler.java
浏览文件 @
4077a0cc
...
...
@@ -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
());
}
}
cat-home/src/main/java/com/dianping/cat/servlet/CatServlet.java
浏览文件 @
4077a0cc
...
...
@@ -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, "
...
...
pom.xml
浏览文件 @
4077a0cc
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录