Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦中观雨
cat
提交
e707ef73
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,发现更多精彩内容 >>
提交
e707ef73
编写于
4月 16, 2012
作者:
F
Frankie Wu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add threadDump on home page
上级
9803a2db
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
54 addition
and
4 deletion
+54
-4
cat-core/src/main/java/com/dianping/cat/message/io/TcpSocketReceiver.java
...n/java/com/dianping/cat/message/io/TcpSocketReceiver.java
+2
-2
cat-home/src/main/java/com/dianping/cat/report/page/home/Action.java
...c/main/java/com/dianping/cat/report/page/home/Action.java
+3
-1
cat-home/src/main/java/com/dianping/cat/report/page/home/Handler.java
.../main/java/com/dianping/cat/report/page/home/Handler.java
+30
-1
cat-home/src/main/java/com/dianping/cat/report/page/home/JspViewer.java
...ain/java/com/dianping/cat/report/page/home/JspViewer.java
+1
-0
cat-home/src/main/java/com/dianping/cat/report/page/home/Model.java
...rc/main/java/com/dianping/cat/report/page/home/Model.java
+10
-0
cat-home/src/main/webapp/jsp/report/home.jsp
cat-home/src/main/webapp/jsp/report/home.jsp
+8
-0
未找到文件。
cat-core/src/main/java/com/dianping/cat/message/io/TcpSocketReceiver.java
浏览文件 @
e707ef73
...
...
@@ -69,8 +69,8 @@ public class TcpSocketReceiver implements MessageReceiver, LogEnabled {
m_queue
=
new
LinkedBlockingQueue
<
ChannelBuffer
>();
ExecutorService
bossExecutor
=
Threads
.
forPool
().
get
FixedThreadPool
(
"TcpSocketReceiver-Boss"
,
20
);
ExecutorService
workerExecutor
=
Threads
.
forPool
().
get
FixedThreadPool
(
"TcpSocketReceiver-Worker"
,
20
);
ExecutorService
bossExecutor
=
Threads
.
forPool
().
get
CachedThreadPool
(
"TcpSocketReceiver-Boss"
);
ExecutorService
workerExecutor
=
Threads
.
forPool
().
get
CachedThreadPool
(
"TcpSocketReceiver-Worker"
);
ChannelFactory
factory
=
new
NioServerSocketChannelFactory
(
bossExecutor
,
workerExecutor
);
ServerBootstrap
bootstrap
=
new
ServerBootstrap
(
factory
);
...
...
cat-home/src/main/java/com/dianping/cat/report/page/home/Action.java
浏览文件 @
e707ef73
...
...
@@ -3,7 +3,9 @@ package com.dianping.cat.report.page.home;
public
enum
Action
implements
com
.
site
.
web
.
mvc
.
Action
{
VIEW
(
"view"
),
CHECKPOINT
(
"checkpoint"
);
CHECKPOINT
(
"checkpoint"
),
THREAD_DUMP
(
"threadDump"
);
private
String
m_name
;
...
...
cat-home/src/main/java/com/dianping/cat/report/page/home/Handler.java
浏览文件 @
e707ef73
package
com.dianping.cat.report.page.home
;
import
java.io.IOException
;
import
java.lang.management.ManagementFactory
;
import
java.lang.management.ThreadInfo
;
import
java.lang.management.ThreadMXBean
;
import
javax.servlet.ServletException
;
...
...
@@ -37,11 +40,37 @@ public class Handler implements PageHandler<Context> {
Model
model
=
new
Model
(
ctx
);
Payload
payload
=
ctx
.
getPayload
();
model
.
setAction
(
Action
.
VIEW
);
model
.
setAction
(
payload
.
getAction
()
);
model
.
setPage
(
ReportPage
.
HOME
);
model
.
setDomain
(
payload
.
getDomain
());
model
.
setLongDate
(
payload
.
getDate
());
switch
(
payload
.
getAction
())
{
case
THREAD_DUMP:
showThreadDump
(
model
,
payload
);
break
;
case
VIEW:
break
;
}
m_jspViewer
.
view
(
ctx
,
model
);
}
private
void
showThreadDump
(
Model
model
,
Payload
payload
)
{
ThreadMXBean
bean
=
ManagementFactory
.
getThreadMXBean
();
ThreadInfo
[]
threads
=
bean
.
dumpAllThreads
(
true
,
true
);
StringBuilder
sb
=
new
StringBuilder
(
8096
);
int
index
=
1
;
sb
.
append
(
"Threads: "
).
append
(
threads
.
length
);
sb
.
append
(
"<pre>"
);
for
(
ThreadInfo
thread:
threads
)
{
sb
.
append
(
index
++).
append
(
": "
).
append
(
thread
).
append
(
"\r\n"
);
}
sb
.
append
(
"</pre>"
);
model
.
setContent
(
sb
.
toString
());
}
}
cat-home/src/main/java/com/dianping/cat/report/page/home/JspViewer.java
浏览文件 @
e707ef73
...
...
@@ -10,6 +10,7 @@ public class JspViewer extends BaseJspViewer<ReportPage, Action, Context, Model>
switch
(
action
)
{
case
VIEW:
case
THREAD_DUMP:
return
JspFile
.
VIEW
.
getPath
();
}
...
...
cat-home/src/main/java/com/dianping/cat/report/page/home/Model.java
浏览文件 @
e707ef73
...
...
@@ -8,10 +8,16 @@ import com.dianping.cat.report.page.AbstractReportModel;
public
class
Model
extends
AbstractReportModel
<
Action
,
Context
>
{
private
String
m_domain
;
private
String
m_content
;
public
Model
(
Context
ctx
)
{
super
(
ctx
);
}
public
String
getContent
()
{
return
m_content
;
}
@Override
public
Action
getDefaultAction
()
{
return
Action
.
VIEW
;
...
...
@@ -27,6 +33,10 @@ public class Model extends AbstractReportModel<Action, Context> {
return
Collections
.
emptySet
();
}
public
void
setContent
(
String
content
)
{
m_content
=
content
;
}
public
void
setDomain
(
String
domain
)
{
m_domain
=
domain
;
}
...
...
cat-home/src/main/webapp/jsp/report/home.jsp
浏览文件 @
e707ef73
<%@ page
contentType=
"text/html; charset=utf-8"
%>
<%@ taglib
prefix=
"a"
uri=
"/WEB-INF/app.tld"
%>
<%@ taglib
prefix=
"c"
uri=
"http://java.sun.com/jsp/jstl/core"
%>
<%@ taglib
prefix=
"res"
uri=
"http://www.unidal.org/webres"
%>
<jsp:useBean
id=
"ctx"
type=
"com.dianping.cat.report.page.home.Context"
scope=
"request"
/>
<jsp:useBean
id=
"payload"
type=
"com.dianping.cat.report.page.home.Payload"
scope=
"request"
/>
...
...
@@ -7,6 +8,11 @@
<a:body>
<c:choose>
<c:when
test=
"
${
not
empty
model
.
content
}
"
>
${model.content}
</c:when>
<c:otherwise>
Welcome to
<b>
Central Application Tracking (CAT)
</b>
.
<br>
<br>
...
...
@@ -19,5 +25,7 @@ Welcome to <b>Central Application Tracking (CAT)</b>.
<br>
<br>
<a
href=
"?op=checkpoint&domain=${model.domain}&date=${model.date}"
style=
"color:#FFF"
>
Do checkpoint here
</a>
</c:otherwise>
</c:choose>
</a:body>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录