Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦中观雨
cat
提交
fd68759e
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,发现更多精彩内容 >>
提交
fd68759e
编写于
7月 20, 2012
作者:
Y
You Yong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modify the cat page
上级
af3c0da9
变更
17
隐藏空白更改
内联
并排
Showing
17 changed file
with
133 addition
and
88 deletion
+133
-88
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/remote/RemoteIdUploader.java
...va/com/dianping/cat/consumer/remote/RemoteIdUploader.java
+5
-4
cat-core/src/main/java/com/dianping/cat/configuration/ServerConfigManager.java
...a/com/dianping/cat/configuration/ServerConfigManager.java
+0
-1
cat-core/src/main/java/com/dianping/cat/message/spi/internal/DefaultMessagePathBuilder.java
...g/cat/message/spi/internal/DefaultMessagePathBuilder.java
+1
-3
cat-core/src/test/java/com/dianping/cat/AllTests.java
cat-core/src/test/java/com/dianping/cat/AllTests.java
+3
-0
cat-core/src/test/java/com/dianping/cat/message/spi/internal/DefaultMessagePathBuilderTest.java
...t/message/spi/internal/DefaultMessagePathBuilderTest.java
+40
-0
cat-home/src/main/java/com/dianping/cat/report/page/model/event/HistoricalEventService.java
...g/cat/report/page/model/event/HistoricalEventService.java
+8
-7
cat-home/src/main/java/com/dianping/cat/report/page/model/heartbeat/HistoricalHeartbeatService.java
...port/page/model/heartbeat/HistoricalHeartbeatService.java
+7
-6
cat-home/src/main/java/com/dianping/cat/report/page/model/problem/HistoricalProblemService.java
...t/report/page/model/problem/HistoricalProblemService.java
+7
-6
cat-home/src/main/java/com/dianping/cat/report/page/model/transaction/HistoricalTransactionService.java
.../page/model/transaction/HistoricalTransactionService.java
+8
-7
cat-home/src/main/java/com/dianping/cat/report/page/transaction/Handler.java
...ava/com/dianping/cat/report/page/transaction/Handler.java
+1
-1
cat-home/src/main/webapp/WEB-INF/tags/body.tag
cat-home/src/main/webapp/WEB-INF/tags/body.tag
+1
-1
cat-home/src/main/webapp/WEB-INF/tags/historyReport.tag
cat-home/src/main/webapp/WEB-INF/tags/historyReport.tag
+18
-23
cat-home/src/main/webapp/WEB-INF/tags/hourlyReport.tag
cat-home/src/main/webapp/WEB-INF/tags/hourlyReport.tag
+8
-9
cat-home/src/main/webapp/css/body.css
cat-home/src/main/webapp/css/body.css
+4
-4
cat-home/src/main/webapp/css/report.css
cat-home/src/main/webapp/css/report.css
+12
-4
cat-home/src/main/webapp/jsp/report/home.jsp
cat-home/src/main/webapp/jsp/report/home.jsp
+9
-11
未找到文件。
cat-consumer/src/main/java/com/dianping/cat/consumer/dump/DumpUploader.java
浏览文件 @
fd68759e
...
...
@@ -107,7 +107,7 @@ public class DumpUploader implements Initializable, LogEnabled {
upload
();
}
}
catch
(
Exception
e
)
{
m_logger
.
warn
(
"Error when dumping message to HDFS.
"
,
e
);
m_logger
.
warn
(
"Error when dumping message to HDFS.
"
+
e
.
getMessage
()
);
}
try
{
...
...
cat-consumer/src/main/java/com/dianping/cat/consumer/remote/RemoteIdUploader.java
浏览文件 @
fd68759e
...
...
@@ -104,7 +104,7 @@ public class RemoteIdUploader implements Initializable, LogEnabled {
upload
();
}
}
catch
(
Exception
e
)
{
m_logger
.
warn
(
"Error when dumping remoteIds to HDFS."
,
e
);
m_logger
.
error
(
"Error when dumping remoteIds to HDFS. "
+
e
.
getMessage
()
);
}
try
{
...
...
@@ -112,7 +112,6 @@ public class RemoteIdUploader implements Initializable, LogEnabled {
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
}
}
...
...
@@ -134,7 +133,8 @@ public class RemoteIdUploader implements Initializable, LogEnabled {
private
void
upload
()
{
File
outbox
=
new
File
(
m_baseDir
,
"outbox"
);
String
ipAddress
=
NetworkInterfaceManager
.
INSTANCE
.
getLocalHostAddress
();
String
path
=
m_builder
.
getMessageRemoteIdPath
(
ipAddress
,
new
Date
());
Date
lastHour
=
new
Date
(
System
.
currentTimeMillis
()
-
60
*
60
*
1000
);
String
path
=
m_builder
.
getMessageRemoteIdPath
(
ipAddress
,
lastHour
);
File
file
=
new
File
(
outbox
,
path
);
if
(!
file
.
exists
())
{
return
;
...
...
@@ -168,7 +168,8 @@ public class RemoteIdUploader implements Initializable, LogEnabled {
t
.
addData
(
"speed"
,
speed
);
t
.
setStatus
(
Message
.
SUCCESS
);
m_logger
.
info
(
String
.
format
(
"Finish remoteIds uploading(%s) to HDFS(%s) with size(%s) at %s."
,
file
.
getCanonicalPath
(),
path
,
size
,
speed
));
m_logger
.
info
(
String
.
format
(
"Finish remoteIds uploading(%s) to HDFS(%s) with size(%s) at %s."
,
file
.
getCanonicalPath
(),
path
,
size
,
speed
));
if
(!
file
.
delete
())
{
m_logger
.
warn
(
"Can't delete file: "
+
file
);
...
...
cat-core/src/main/java/com/dianping/cat/configuration/ServerConfigManager.java
浏览文件 @
fd68759e
...
...
@@ -21,7 +21,6 @@ import com.dianping.cat.configuration.server.entity.ServerConfig;
import
com.dianping.cat.configuration.server.entity.StorageConfig
;
import
com.dianping.cat.configuration.server.transform.DefaultDomParser
;
import
com.site.helper.Files
;
import
com.site.helper.Threads
;
import
com.site.helper.Threads.Task
;
public
class
ServerConfigManager
implements
Initializable
,
LogEnabled
{
...
...
cat-core/src/main/java/com/dianping/cat/message/spi/internal/DefaultMessagePathBuilder.java
浏览文件 @
fd68759e
...
...
@@ -56,12 +56,10 @@ public class DefaultMessagePathBuilder implements MessagePathBuilder, Initializa
return
messageId
+
"/logview.html"
;
}
@Override
public
String
getMessageRemoteIdPath
(
String
ip
,
Date
timestamp
)
{
MessageFormat
format
=
new
MessageFormat
(
"{0,date,yyyyMMdd}/{0,date,HH}/remoteid-{1}"
);
String
path
=
format
.
format
(
new
Object
[]
{
new
Date
()
,
ip
});
String
path
=
format
.
format
(
new
Object
[]
{
timestamp
,
ip
});
return
path
;
}
...
...
cat-core/src/test/java/com/dianping/cat/AllTests.java
浏览文件 @
fd68759e
...
...
@@ -15,6 +15,7 @@ import com.dianping.cat.message.io.InMemoryTest;
import
com.dianping.cat.message.io.TcpSocketTest
;
import
com.dianping.cat.message.spi.codec.HtmlMessageCodecTest
;
import
com.dianping.cat.message.spi.codec.PlainTextMessageCodecTest
;
import
com.dianping.cat.message.spi.internal.DefaultMessagePathBuilderTest
;
import
com.dianping.cat.storage.BucketManagerTest
;
import
com.dianping.cat.storage.message.LocalLogviewBucketTest
;
import
com.dianping.cat.storage.message.LogviewBucketTest
;
...
...
@@ -44,6 +45,8 @@ MessageIdFactoryTest.class,
MillisSecondTimerTest
.
class
,
DefaultMessagePathBuilderTest
.
class
,
/* .io */
InMemoryTest
.
class
,
...
...
cat-core/src/test/java/com/dianping/cat/message/spi/internal/DefaultMessagePathBuilderTest.java
0 → 100644
浏览文件 @
fd68759e
package
com.dianping.cat.message.spi.internal
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
junit.framework.Assert
;
import
org.junit.Test
;
public
class
DefaultMessagePathBuilderTest
{
@Test
public
void
testRemotePathBuilder
()
{
DefaultMessagePathBuilder
builder
=
new
DefaultMessagePathBuilder
();
int
hour
=
60
*
60
*
1000
;
long
current
=
System
.
currentTimeMillis
();
long
currentHour
=
current
-
current
%
hour
;
Date
date
=
new
Date
(
currentHour
);
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyyMMdd/HH/"
);
String
dateStr
=
sdf
.
format
(
date
);
String
ip
=
"127.0.0.1"
;
String
path
=
builder
.
getMessageRemoteIdPath
(
ip
,
date
);
Assert
.
assertEquals
(
dateStr
+
"remoteid-"
+
ip
,
path
);
date
=
new
Date
(
currentHour
-
hour
);
dateStr
=
sdf
.
format
(
date
);
path
=
builder
.
getMessageRemoteIdPath
(
ip
,
date
);
Assert
.
assertEquals
(
dateStr
+
"remoteid-"
+
ip
,
path
);
date
=
new
Date
(
currentHour
+
5
*
hour
);
dateStr
=
sdf
.
format
(
date
);
path
=
builder
.
getMessageRemoteIdPath
(
ip
,
date
);
Assert
.
assertEquals
(
dateStr
+
"remoteid-"
+
ip
,
path
);
}
}
cat-home/src/main/java/com/dianping/cat/report/page/model/event/HistoricalEventService.java
浏览文件 @
fd68759e
...
...
@@ -52,17 +52,18 @@ public class HistoricalEventService extends BaseHistoricalModelService<EventRepo
model
.
accept
(
merger
);
}
EventReport
eventReport
=
merger
.
getEventReport
();
List
<
Report
>
historyReports
=
m_reportDao
.
findAllByDomainNameDuration
(
new
Date
(
timestamp
),
new
Date
(
timestamp
+
60
*
60
*
1000
),
null
,
null
,
ReportEntity
.
READSET_DOMAIN_NAME
);
if
(
eventReport
!=
null
&&
historyReports
!=
null
)
{
Set
<
String
>
domainNames
=
eventReport
.
getDomainNames
();
for
(
Report
report
:
historyReports
)
{
domainNames
.
add
(
report
.
getDomain
());
}
if
(
eventReport
==
null
)
{
eventReport
=
new
EventReport
(
domain
);
}
Set
<
String
>
domainNames
=
eventReport
.
getDomainNames
();
for
(
Report
report
:
historyReports
)
{
domainNames
.
add
(
report
.
getDomain
());
}
return
merger
==
null
?
null
:
eventReport
;
return
eventReport
;
}
private
EventReport
getReportFromLocalDisk
(
long
timestamp
,
String
domain
)
throws
Exception
{
...
...
cat-home/src/main/java/com/dianping/cat/report/page/model/heartbeat/HistoricalHeartbeatService.java
浏览文件 @
fd68759e
...
...
@@ -56,14 +56,15 @@ public class HistoricalHeartbeatService extends BaseHistoricalModelService<Heart
List
<
Report
>
historyReports
=
m_reportDao
.
findAllByDomainNameDuration
(
new
Date
(
timestamp
),
new
Date
(
timestamp
+
60
*
60
*
1000
),
null
,
null
,
ReportEntity
.
READSET_DOMAIN_NAME
);
if
(
heartbeatReport
!=
null
&&
historyReports
!=
null
)
{
Set
<
String
>
domainNames
=
heartbeatReport
.
getDomainNames
();
for
(
Report
report
:
historyReports
)
{
domainNames
.
add
(
report
.
getDomain
());
}
if
(
heartbeatReport
==
null
)
{
heartbeatReport
=
new
HeartbeatReport
(
domain
);
}
Set
<
String
>
domainNames
=
heartbeatReport
.
getDomainNames
();
for
(
Report
report
:
historyReports
)
{
domainNames
.
add
(
report
.
getDomain
());
}
return
merger
==
null
?
null
:
heartbeatReport
;
return
heartbeatReport
;
}
private
HeartbeatReport
getReportFromLocalDisk
(
long
timestamp
,
String
domain
)
throws
Exception
{
...
...
cat-home/src/main/java/com/dianping/cat/report/page/model/problem/HistoricalProblemService.java
浏览文件 @
fd68759e
...
...
@@ -56,13 +56,14 @@ public class HistoricalProblemService extends BaseHistoricalModelService<Problem
List
<
Report
>
historyReports
=
m_reportDao
.
findAllByDomainNameDuration
(
new
Date
(
timestamp
),
new
Date
(
timestamp
+
60
*
60
*
1000
),
null
,
null
,
ReportEntity
.
READSET_DOMAIN_NAME
);
if
(
problemReport
!=
null
&&
historyReports
!=
null
)
{
Set
<
String
>
domainNames
=
problemReport
.
getDomainNames
();
for
(
Report
report
:
historyReports
)
{
domainNames
.
add
(
report
.
getDomain
());
}
if
(
problemReport
==
null
)
{
problemReport
=
new
ProblemReport
(
domain
);
}
return
merger
==
null
?
null
:
problemReport
;
Set
<
String
>
domainNames
=
problemReport
.
getDomainNames
();
for
(
Report
report
:
historyReports
)
{
domainNames
.
add
(
report
.
getDomain
());
}
return
problemReport
;
}
private
ProblemReport
getReportFromLocalDisk
(
long
timestamp
,
String
domain
)
throws
Exception
{
...
...
cat-home/src/main/java/com/dianping/cat/report/page/model/transaction/HistoricalTransactionService.java
浏览文件 @
fd68759e
...
...
@@ -52,17 +52,18 @@ public class HistoricalTransactionService extends BaseHistoricalModelService<Tra
model
.
accept
(
merger
);
}
TransactionReport
transactionReport
=
merger
.
getTransactionReport
();
List
<
Report
>
historyReports
=
m_reportDao
.
findAllByDomainNameDuration
(
new
Date
(
timestamp
),
new
Date
(
timestamp
+
60
*
60
*
1000
),
null
,
null
,
ReportEntity
.
READSET_DOMAIN_NAME
);
if
(
transactionReport
!=
null
&&
historyReports
!=
null
)
{
Set
<
String
>
domainNames
=
transactionReport
.
getDomainNames
();
for
(
Report
report
:
historyReports
)
{
domainNames
.
add
(
report
.
getDomain
());
}
if
(
transactionReport
==
null
)
{
transactionReport
=
new
TransactionReport
(
domain
);
}
Set
<
String
>
domainNames
=
transactionReport
.
getDomainNames
();
for
(
Report
report
:
historyReports
)
{
domainNames
.
add
(
report
.
getDomain
());
}
return
merger
==
null
?
null
:
transactionReport
;
return
transactionReport
;
}
private
TransactionReport
getReportFromLocalDisk
(
long
timestamp
,
String
domain
)
throws
Exception
{
...
...
cat-home/src/main/java/com/dianping/cat/report/page/transaction/Handler.java
浏览文件 @
fd68759e
...
...
@@ -266,7 +266,7 @@ public class Handler implements PageHandler<Context> {
TransactionReport
reportModel
=
DefaultSaxParser
.
parse
(
xml
);
reportModel
.
accept
(
merger
);
}
transactionReport
=
merger
==
null
?
null
:
merger
.
getTransactionReport
();
transactionReport
=
merger
.
getTransactionReport
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
...
...
cat-home/src/main/webapp/WEB-INF/tags/body.tag
浏览文件 @
fd68759e
...
...
@@ -13,7 +13,7 @@
<res:useCss
value=
'${res.css.local.body_css}'
target=
"head-css"
/>
</head>
<body>
<table
style=
"height:
10
px"
></table>
<table
style=
"height:
8
px"
></table>
<ul
class=
"tabs"
>
<c:forEach
var=
"page"
items=
"${navBar.visiblePages}"
>
<c:if
test=
"${page.standalone}"
>
...
...
cat-home/src/main/webapp/WEB-INF/tags/historyReport.tag
浏览文件 @
fd68759e
...
...
@@ -14,9 +14,24 @@
<div class="report">
<table class="header">
<tr>
<td class="title">${title} <jsp:invoke fragment="subtitle"/></td>
<td class="switch">Browse Mode:History Summarize Report
[ <a href="?domain=${model.domain}">Hourly Mode</a> ]
<td class="title"> <jsp:invoke fragment="subtitle"/></td>
<td class="switch"><a href="?domain=${model.domain}">Switch To Hourly Mode</a>
</td>
<td class="nav">
<c:forEach var="nav" items="${model.historyNavs}">
<c:choose>
<c:when test="${nav.title eq model.reportType}">
[ <a href="?op=history&domain=${model.domain}&date=${model.date}&reportType=${nav.title}" class="current">${nav.title}</a> ]
</c:when>
<c:otherwise>
[ <a href="?op=history&domain=${model.domain}&date=${model.date}&reportType=${nav.title}">${nav.title}</a> ]
</c:otherwise>
</c:choose>
</c:forEach>
[ <a href="?op=history&domain=${model.domain}&date=${model.date}&reportType=${model.reportType}&step=-1">${model.currentNav.last}</a> ]
[ <a href="?op=history&domain=${model.domain}&date=${model.date}&reportType=${model.reportType}&step=1">${model.currentNav.next}</a> ]
[ <a href="?op=history&domain=${model.domain}&reportType=${model.reportType}&nav=next">now</a> ]
</td>
</tr>
</table>
...
...
@@ -36,26 +51,6 @@
</c:forEach>
</div>
</td>
<td class="nav">
[ <a href="?op=history&domain=${model.domain}&date=${model.date}&reportType=${model.reportType}&step=-1">${model.currentNav.last}</a> ]
[ <a href="?op=history&domain=${model.domain}&date=${model.date}&reportType=${model.reportType}&step=1">${model.currentNav.next}</a> ]
[ <a href="?op=history&domain=${model.domain}&reportType=${model.reportType}&nav=next">now</a> ]
</td>
</tr>
<tr>
<td class="nav">
<c:forEach var="nav" items="${model.historyNavs}">
<c:choose>
<c:when test="${nav.title eq model.reportType}">
[ <a href="?op=history&domain=${model.domain}&date=${model.date}&reportType=${nav.title}" class="current">${nav.title}</a> ]
</c:when>
<c:otherwise>
[ <a href="?op=history&domain=${model.domain}&date=${model.date}&reportType=${nav.title}">${nav.title}</a> ]
</c:otherwise>
</c:choose>
</c:forEach>
</td>
</tr>
</table>
<jsp:doBody />
...
...
cat-home/src/main/webapp/WEB-INF/tags/hourlyReport.tag
浏览文件 @
fd68759e
...
...
@@ -14,9 +14,14 @@
<div class="report">
<table class="header">
<tr>
<td class="title">${title} <jsp:invoke fragment="subtitle"/></td>
<td class="switch">Browse Mode:Hourly Report
[ <a href="${model.baseUri}?op=history&domain=${model.domain}">History Mode</a> ]
<td class="title"> <jsp:invoke fragment="subtitle"/></td>
<td class="switch"><a href="${model.baseUri}?op=history&domain=${model.domain}">Switch To History Mode</a>
</td>
<td class="nav">
<c:forEach var="nav" items="${model.navs}">
[ <a href="${model.baseUri}?date=${model.date}&step=${nav.hours}&${navUrlPrefix}">${nav.title}</a> ]
</c:forEach>
[ <a href="${model.baseUri}?${navUrlPrefix}">now</a> ]
</td>
</tr>
</table>
...
...
@@ -37,12 +42,6 @@
</c:forEach>
</div>
</td>
<td class="nav">
<c:forEach var="nav" items="${model.navs}">
[ <a href="${model.baseUri}?date=${model.date}&step=${nav.hours}&${navUrlPrefix}">${nav.title}</a> ]
</c:forEach>
[ <a href="${model.baseUri}?${navUrlPrefix}">now</a> ]
</td>
</tr>
</table>
...
...
cat-home/src/main/webapp/css/body.css
浏览文件 @
fd68759e
...
...
@@ -33,7 +33,7 @@ a:hover {
}
ul
.tabs
{
border-bottom
:
1px
solid
gray
;
border-bottom
:
1px
solid
black
;
list-style-type
:
none
;
position
:
relative
;
padding
:
0em
;
...
...
@@ -46,9 +46,9 @@ ul.tabs {
margin
:
0em
0.4em
0em
0.4em
;
padding
:
0.4em
0.4em
0.4em
0.4em
;
overflow
:
hidden
;
border-top
:
1px
solid
gray
;
border-left
:
1px
solid
gray
;
border-right
:
1px
solid
gray
;
border-top
:
1px
solid
black
;
border-left
:
1px
solid
black
;
border-right
:
1px
solid
black
;
}
.tabs
li
.selected
{
...
...
cat-home/src/main/webapp/css/report.css
浏览文件 @
fd68759e
...
...
@@ -8,11 +8,12 @@
.report
.header
.title
{
font-weight
:
bold
;
color
:
black
;
}
.report
.header
.ti
mestamp
{
white-space
:
nowrap
;
width
:
200px
;
.report
.header
.ti
tle
{
font-weight
:
bold
;
color
:
black
;
}
.report
.navbar
{
...
...
@@ -47,10 +48,17 @@
font-weight
:
bold
;
}
.report
.header
.
switch
{
.report
.header
.
nav
{
text-align
:
right
;
font-size
:
small
;
font-weight
:
bold
;
color
:
black
;
}
.report
.header
.switch
{
text-align
:
left
;
font-size
:
small
;
font-weight
:
bold
;
}
.report
.navbar
.nav
A
{
...
...
cat-home/src/main/webapp/jsp/report/home.jsp
浏览文件 @
fd68759e
...
...
@@ -19,22 +19,20 @@ Welcome to <b>Central Application Tracking (CAT)</b>.
<br>
<br>
<table>
<tr><td><a
href=
"http://
192.168.7.43:9080/bin/view/soa-110-cat/userefrrence
"
target=
"_blank"
>
CAT用户手册
</a></td>
</tr>
<tr><td><a
href=
"http://
192.168.7.43:9080/bin/view/soa-110-cat/cat-developer-cat
"
target=
"_blank"
>
CAT开发者文档
</a></td>
</tr>
<tr><td><a
href=
"http://
192.168.7.43:9080/bin/view/soa-110-cat/CATIntegration
"
target=
"_blank"
>
CAT集成帮助文档
</a></td>
</tr>
<tr><td><a
href=
"http://
wiki.dianpingoa.com/bin/view/SOA%E6%9E%B6%E6%9E%84/CAT%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C
"
target=
"_blank"
>
CAT用户手册
</a></td>
</tr>
<tr><td><a
href=
"http://
wiki.dianpingoa.com/bin/view/SOA%E6%9E%B6%E6%9E%84/CAT%E5%BC%80%E5%8F%91%E8%80%85%E6%96%87%E6%A1%A3
"
target=
"_blank"
>
CAT开发者文档
</a></td>
</tr>
<tr><td><a
href=
"http://
wiki.dianpingoa.com/bin/view/SOA%E6%9E%B6%E6%9E%84/CAT%E9%9B%86%E6%88%90%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3
"
target=
"_blank"
>
CAT集成帮助文档
</a></td>
</tr>
</table>
<br>
<br>
<br>
<table
class=
'version'
>
<tr
class=
"odd"
><td>
版本
</td><td>
说明
</td></tr>
<tr
class=
"even"
><td>
0.3.3
</td><td>
1、修改CAT线程为后台Dameon线程。2、减少CAT的日志输出。3、修复了极端情况客户端丢失部分消息。4、支持CAT的延迟加载。
</td></tr>
<tr
class=
"even"
><td>
0.3.2
</td><td>
1、修复了配置单个服务器时候,服务器重启,客户端断开链接bug。2、修复了CAT不正常加载时候,内存溢出的问题。
</td></tr>
<tr
class=
"even"
><td>
0.3.1
</td><td>
1、修复CAT在业务testcase的使用,支持业务运行Testcase在Console上看到运行情况。
</td></tr>
<tr
class=
"odd"
><td>
0.3.0
</td><td>
1、修复CAT在Transaction Name的Nullpoint异常。
</td></tr>
<tr
class=
"even"
><td>
0.2.5
</td><td>
1、心跳消息监控新增oldgc和newgc
2、更新了ThreadLocal的线程模型(修复了一些无头消息和部分错乱消息)
</td></tr>
<tr
class=
"odd"
><td>
版本
</td><td>
说明
</td><td>
发布时间
</td></tr>
<tr
class=
"even"
><td>
0.3.3
</td><td>
1、修改CAT线程为后台Dameon线程。2、减少CAT的日志输出。3、修复了极端情况客户端丢失部分消息。4、支持CAT的延迟加载。
</td><td>
2012-07-17
</td></tr>
<tr
class=
"odd"
><td>
0.3.2
</td><td>
1、修复了配置单个服务器时候,服务器重启,客户端断开链接bug。2、修复了CAT不正常加载时候,内存溢出的问题。
</td><td>
2012-07-01
</td></tr>
<tr
class=
"even"
><td>
0.3.1
</td><td>
1、修复CAT在业务testcase的使用,支持业务运行Testcase在Console上看到运行情况。
</td><td>
2012-06-25
</td></tr>
<tr
class=
"odd"
><td>
0.3.0
</td><td>
1、修复CAT在Transaction Name的Nullpoint异常。
</td><td>
2012-06-15
</td></tr>
<tr
class=
"even"
><td>
0.2.5
</td><td>
1、心跳消息监控新增oldgc和newgc 2、更新了ThreadLocal的线程模型(修复了一些无头消息和部分错乱消息)
</td><td>
2012-05-01
</td></tr>
</table>
<br>
<br>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录