Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦中观雨
cat
提交
fe5e73b6
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,体验更适合开发者的 AI 搜索 >>
提交
fe5e73b6
编写于
10月 19, 2018
作者:
W
wangyapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
optimize code
上级
bf383aa0
变更
30
隐藏空白更改
内联
并排
Showing
30 changed file
with
268 addition
and
364 deletion
+268
-364
README.md
README.md
+4
-4
cat-alarm/src/main/java/com/dianping/cat/alarm/service/AlertService.java
...ain/java/com/dianping/cat/alarm/service/AlertService.java
+3
-2
cat-alarm/src/main/java/com/dianping/cat/alarm/spi/AlertManager.java
...rc/main/java/com/dianping/cat/alarm/spi/AlertManager.java
+20
-21
cat-alarm/src/main/java/com/dianping/cat/alarm/spi/receiver/ContactorManager.java
...com/dianping/cat/alarm/spi/receiver/ContactorManager.java
+5
-6
cat-alarm/src/main/java/com/dianping/cat/alarm/spi/rule/DefaultDataChecker.java
...a/com/dianping/cat/alarm/spi/rule/DefaultDataChecker.java
+7
-8
cat-alarm/src/main/java/com/dianping/cat/alarm/spi/rule/RuleType.java
...c/main/java/com/dianping/cat/alarm/spi/rule/RuleType.java
+24
-25
cat-consumer/src/main/java/com/dianping/cat/consumer/business/BusinessAnalyzer.java
.../com/dianping/cat/consumer/business/BusinessAnalyzer.java
+8
-13
cat-consumer/src/main/java/com/dianping/cat/consumer/cross/CrossAnalyzer.java
...n/java/com/dianping/cat/consumer/cross/CrossAnalyzer.java
+11
-18
cat-consumer/src/main/java/com/dianping/cat/consumer/cross/CrossDelegate.java
...n/java/com/dianping/cat/consumer/cross/CrossDelegate.java
+6
-9
cat-consumer/src/main/java/com/dianping/cat/consumer/dependency/DependencyDelegate.java
.../dianping/cat/consumer/dependency/DependencyDelegate.java
+6
-9
cat-consumer/src/main/java/com/dianping/cat/consumer/dump/DumpAnalyzer.java
...ain/java/com/dianping/cat/consumer/dump/DumpAnalyzer.java
+10
-14
cat-consumer/src/main/java/com/dianping/cat/consumer/dump/LocalMessageBucketManager.java
...dianping/cat/consumer/dump/LocalMessageBucketManager.java
+24
-29
cat-consumer/src/main/java/com/dianping/cat/consumer/event/EventAnalyzer.java
...n/java/com/dianping/cat/consumer/event/EventAnalyzer.java
+10
-16
cat-consumer/src/main/java/com/dianping/cat/consumer/event/EventDelegate.java
...n/java/com/dianping/cat/consumer/event/EventDelegate.java
+6
-9
cat-consumer/src/main/java/com/dianping/cat/consumer/heartbeat/HeartbeatAnalyzer.java
...om/dianping/cat/consumer/heartbeat/HeartbeatAnalyzer.java
+10
-23
cat-consumer/src/main/java/com/dianping/cat/consumer/heartbeat/HeartbeatDelegate.java
...om/dianping/cat/consumer/heartbeat/HeartbeatDelegate.java
+6
-9
cat-consumer/src/main/java/com/dianping/cat/consumer/matrix/MatrixAnalyzer.java
...java/com/dianping/cat/consumer/matrix/MatrixAnalyzer.java
+10
-13
cat-consumer/src/main/java/com/dianping/cat/consumer/problem/ProblemAnalyzer.java
...va/com/dianping/cat/consumer/problem/ProblemAnalyzer.java
+11
-14
cat-consumer/src/main/java/com/dianping/cat/consumer/problem/ProblemDelegate.java
...va/com/dianping/cat/consumer/problem/ProblemDelegate.java
+7
-10
cat-consumer/src/main/java/com/dianping/cat/consumer/state/StateAnalyzer.java
...n/java/com/dianping/cat/consumer/state/StateAnalyzer.java
+12
-21
cat-consumer/src/main/java/com/dianping/cat/consumer/state/StateDelegate.java
...n/java/com/dianping/cat/consumer/state/StateDelegate.java
+7
-10
cat-consumer/src/main/java/com/dianping/cat/consumer/storage/StorageDelegate.java
...va/com/dianping/cat/consumer/storage/StorageDelegate.java
+6
-8
cat-consumer/src/main/java/com/dianping/cat/consumer/top/TopDelegate.java
.../main/java/com/dianping/cat/consumer/top/TopDelegate.java
+5
-8
cat-consumer/src/main/java/com/dianping/cat/consumer/transaction/TransactionDelegate.java
...ianping/cat/consumer/transaction/TransactionDelegate.java
+6
-9
cat-consumer/src/test/java/com/dianping/cat/consumer/cross/CrossInfoTest.java
...t/java/com/dianping/cat/consumer/cross/CrossInfoTest.java
+7
-7
cat-core/src/main/java/com/dianping/cat/config/sample/SampleConfigManager.java
...a/com/dianping/cat/config/sample/SampleConfigManager.java
+1
-2
cat-core/src/main/java/com/dianping/cat/report/DomainValidator.java
...rc/main/java/com/dianping/cat/report/DomainValidator.java
+3
-5
cat-core/src/main/java/com/dianping/cat/task/TaskManager.java
...core/src/main/java/com/dianping/cat/task/TaskManager.java
+8
-9
cat-core/src/main/java/com/dianping/cat/task/TimerSyncTask.java
...re/src/main/java/com/dianping/cat/task/TimerSyncTask.java
+7
-8
cat-hadoop/src/main/java/com/dianping/cat/hadoop/hdfs/HdfsMessageBucketManager.java
...om/dianping/cat/hadoop/hdfs/HdfsMessageBucketManager.java
+18
-25
未找到文件。
README.md
浏览文件 @
fe5e73b6
...
...
@@ -67,11 +67,11 @@
### Quick Start
####
CAT
服务端
#### 服务端
-
[
服务端
集群部署
](
https://github.com/dianping/cat/blob/master/cat-doc/posts/ch4-server/README.md
)
-
[
服务端
报表介绍
](
https://github.com/dianping/cat/blob/master/cat-doc/posts/ch1-report/README.md
)
-
[
服务端
配置手册
](
https://github.com/dianping/cat/blob/master/cat-doc/posts/ch2-config/README.md
)
-
[
集群部署
](
https://github.com/dianping/cat/blob/master/cat-doc/posts/ch4-server/README.md
)
-
[
报表介绍
](
https://github.com/dianping/cat/blob/master/cat-doc/posts/ch1-report/README.md
)
-
[
配置手册
](
https://github.com/dianping/cat/blob/master/cat-doc/posts/ch2-config/README.md
)
### 项目设计
...
...
cat-alarm/src/main/java/com/dianping/cat/alarm/service/AlertService.java
浏览文件 @
fe5e73b6
...
...
@@ -56,7 +56,8 @@ public class AlertService {
List
<
Alert
>
alerts
=
new
LinkedList
<
Alert
>();
try
{
alerts
=
m_alertDao
.
queryAlertsByTimeCategory
(
start
,
end
,
type
,
com
.
dianping
.
cat
.
alarm
.
AlertEntity
.
READSET_FULL
);
alerts
=
m_alertDao
.
queryAlertsByTimeCategory
(
start
,
end
,
type
,
com
.
dianping
.
cat
.
alarm
.
AlertEntity
.
READSET_FULL
);
}
catch
(
DalNotFoundException
e
)
{
// ignore
}
catch
(
Exception
e
)
{
...
...
@@ -67,7 +68,7 @@ public class AlertService {
}
public
void
insert
(
AlertEntity
alertEntity
,
SendMessageEntity
message
)
{
if
(
alertEntity
.
getType
().
equals
(
AlertType
.
FrontEndException
.
getName
()))
{
if
(
alertEntity
.
getType
().
getName
().
equals
(
AlertType
.
FrontEndException
.
getName
()))
{
return
;
}
Alert
alert
=
buildAlert
(
alertEntity
,
message
);
...
...
cat-alarm/src/main/java/com/dianping/cat/alarm/spi/AlertManager.java
浏览文件 @
fe5e73b6
...
...
@@ -18,6 +18,25 @@
*/
package
com.dianping.cat.alarm.spi
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.alarm.service.AlertService
;
import
com.dianping.cat.alarm.spi.config.AlertPolicyManager
;
import
com.dianping.cat.alarm.spi.decorator.DecoratorManager
;
import
com.dianping.cat.alarm.spi.receiver.ContactorManager
;
import
com.dianping.cat.alarm.spi.sender.SendMessageEntity
;
import
com.dianping.cat.alarm.spi.sender.SenderManager
;
import
com.dianping.cat.alarm.spi.spliter.SpliterManager
;
import
com.dianping.cat.config.server.ServerConfigManager
;
import
com.dianping.cat.helper.TimeHelper
;
import
com.dianping.cat.message.Event
;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
;
import
org.unidal.helper.Threads
;
import
org.unidal.helper.Threads.Task
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
org.unidal.tuple.Pair
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
...
...
@@ -31,30 +50,10 @@ import java.util.concurrent.LinkedBlockingDeque;
import
java.util.concurrent.TimeUnit
;
import
java.util.regex.Pattern
;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
;
import
org.unidal.helper.Threads
;
import
org.unidal.helper.Threads.Task
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
org.unidal.tuple.Pair
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.alarm.service.AlertService
;
import
com.dianping.cat.alarm.spi.config.AlertPolicyManager
;
import
com.dianping.cat.alarm.spi.decorator.DecoratorManager
;
import
com.dianping.cat.alarm.spi.receiver.ContactorManager
;
import
com.dianping.cat.alarm.spi.sender.SendMessageEntity
;
import
com.dianping.cat.alarm.spi.sender.SenderManager
;
import
com.dianping.cat.alarm.spi.spliter.SpliterManager
;
import
com.dianping.cat.config.server.ServerConfigManager
;
import
com.dianping.cat.helper.TimeHelper
;
import
com.dianping.cat.message.Event
;
@Named
public
class
AlertManager
implements
Initializable
{
private
static
final
int
MILLIS1MINUTE
=
1
*
60
*
1000
;
private
static
final
int
MILLIS1MINUTE
=
60
*
1000
;
@Inject
protected
SpliterManager
m_splitterManager
;
...
...
cat-alarm/src/main/java/com/dianping/cat/alarm/spi/receiver/ContactorManager.java
浏览文件 @
fe5e73b6
...
...
@@ -18,16 +18,15 @@
*/
package
com.dianping.cat.alarm.spi.receiver
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
com.dianping.cat.alarm.spi.AlertChannel
;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
;
import
org.unidal.lookup.ContainerHolder
;
import
org.unidal.lookup.annotation.Named
;
import
com.dianping.cat.alarm.spi.AlertChannel
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Named
public
class
ContactorManager
extends
ContainerHolder
implements
Initializable
{
...
...
@@ -51,7 +50,7 @@ public class ContactorManager extends ContainerHolder implements Initializable {
}
else
if
(
AlertChannel
.
DX
==
channel
)
{
return
contactor
.
queryDXContactors
(
group
);
}
else
{
throw
new
RuntimeException
(
"unsupported chann
n
el"
);
throw
new
RuntimeException
(
"unsupported channel"
);
}
}
...
...
cat-alarm/src/main/java/com/dianping/cat/alarm/spi/rule/DefaultDataChecker.java
浏览文件 @
fe5e73b6
...
...
@@ -18,15 +18,14 @@
*/
package
com.dianping.cat.alarm.spi.rule
;
import
java.util.ArrayList
;
import
java.util.List
;
import
org.unidal.lookup.annotation.Named
;
import
org.unidal.tuple.Pair
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.alarm.rule.entity.Condition
;
import
com.dianping.cat.alarm.rule.entity.SubCondition
;
import
org.unidal.lookup.annotation.Named
;
import
org.unidal.tuple.Pair
;
import
java.util.ArrayList
;
import
java.util.List
;
@Named
(
type
=
DataChecker
.
class
)
public
class
DefaultDataChecker
implements
DataChecker
{
...
...
@@ -73,7 +72,7 @@ public class DefaultDataChecker implements DataChecker {
double
[]
valueValid
=
buildLastMinutesDoubleArray
(
value
,
conditionMinute
);
Pair
<
Boolean
,
String
>
condResult
=
checkDataByCondition
(
valueValid
,
valueValid
,
condition
);
if
(
condResult
.
getKey
()
==
true
)
{
if
(
condResult
.
getKey
())
{
String
alertType
=
condition
.
getAlertType
();
alertResults
.
add
(
new
DataCheckEntity
(
condResult
.
getKey
(),
condResult
.
getValue
(),
alertType
));
...
...
@@ -111,7 +110,7 @@ public class DefaultDataChecker implements DataChecker {
for
(
Condition
condition
:
conditions
)
{
Pair
<
Boolean
,
String
>
condResult
=
checkDataByCondition
(
value
,
null
,
condition
);
if
(
condResult
.
getKey
()
==
true
)
{
if
(
condResult
.
getKey
())
{
String
alertType
=
condition
.
getAlertType
();
alertResults
.
add
(
new
DataCheckEntity
(
condResult
.
getKey
(),
condResult
.
getValue
(),
alertType
));
}
...
...
cat-alarm/src/main/java/com/dianping/cat/alarm/spi/rule/RuleType.java
浏览文件 @
fe5e73b6
...
...
@@ -18,6 +18,9 @@
*/
package
com.dianping.cat.alarm.spi.rule
;
import
com.dianping.cat.Cat
;
import
org.unidal.tuple.Pair
;
import
javax.tools.JavaCompiler
;
import
javax.tools.ToolProvider
;
import
java.io.File
;
...
...
@@ -33,10 +36,6 @@ import java.util.HashMap;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
import
org.unidal.tuple.Pair
;
import
com.dianping.cat.Cat
;
public
enum
RuleType
{
DecreasePercentage
{
...
...
@@ -59,8 +58,8 @@ public enum RuleType {
sb
.
append
(
"[基线值:"
).
append
(
convertDoublesToString
(
baselines
)).
append
(
"] "
);
sb
.
append
(
"[实际值:"
).
append
(
convertDoublesToString
(
values
)).
append
(
"] "
);
sb
.
append
(
"[下降比:"
).
append
(
convertPercentsToString
(
buildDescPers
(
values
,
baselines
))).
append
(
"]"
);
sb
.
append
(
"[下降百分比阈值: "
+
m_df
.
format
(
ruleValue
)
+
"% ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
+
"]"
);
sb
.
append
(
"[下降百分比阈值: "
).
append
(
m_df
.
format
(
ruleValue
)).
append
(
"% ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
).
append
(
"]"
);
sb
.
append
(
"[下降比为实际值与基线值相比下降的百分比]"
);
return
sb
.
toString
();
...
...
@@ -107,8 +106,8 @@ public enum RuleType {
sb
.
append
(
"[基线值:"
).
append
(
convertDoublesToString
(
baselines
)).
append
(
"] "
);
sb
.
append
(
"[实际值:"
).
append
(
convertDoublesToString
(
values
)).
append
(
"] "
);
sb
.
append
(
"[下降值:"
).
append
(
convertDoublesToString
(
buildDescVals
(
values
,
baselines
))).
append
(
"]"
);
sb
.
append
(
"[下降阈值: "
+
convertDoubleToString
(
ruleValue
)
+
" ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
+
"]"
);
sb
.
append
(
"[下降阈值: "
).
append
(
convertDoubleToString
(
ruleValue
)).
append
(
" ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
).
append
(
"]"
);
sb
.
append
(
"[下降值为实际值与基线值相比下降的值]"
);
return
sb
.
toString
();
...
...
@@ -154,8 +153,8 @@ public enum RuleType {
sb
.
append
(
"[基线值:"
).
append
(
convertDoublesToString
(
baselines
)).
append
(
"] "
);
sb
.
append
(
"[实际值:"
).
append
(
convertDoublesToString
(
values
)).
append
(
"] "
);
sb
.
append
(
"[上升比:"
).
append
(
convertPercentsToString
(
buildAscPers
(
values
,
baselines
))).
append
(
"]"
);
sb
.
append
(
"[上升百分比阈值: "
+
m_df
.
format
(
ruleValue
)
+
"% ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
+
"]"
);
sb
.
append
(
"[上升百分比阈值: "
).
append
(
m_df
.
format
(
ruleValue
)).
append
(
"% ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
).
append
(
"]"
);
sb
.
append
(
"[上升比为实际值与基线值相比上升的百分比]"
);
return
sb
.
toString
();
...
...
@@ -201,8 +200,8 @@ public enum RuleType {
sb
.
append
(
"[基线值:"
).
append
(
convertDoublesToString
(
baselines
)).
append
(
"] "
);
sb
.
append
(
"[实际值:"
).
append
(
convertDoublesToString
(
values
)).
append
(
"] "
);
sb
.
append
(
"[上升值:"
).
append
(
convertDoublesToString
(
buildAscVals
(
values
,
baselines
))).
append
(
"]"
);
sb
.
append
(
"[上升阈值: "
+
convertDoubleToString
(
ruleValue
)
+
" ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
+
"]"
);
sb
.
append
(
"[上升阈值: "
).
append
(
convertDoubleToString
(
ruleValue
)).
append
(
" ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
).
append
(
"]"
);
sb
.
append
(
"[上升值为实际值与基线值相比上升的值]"
);
return
sb
.
toString
();
...
...
@@ -235,8 +234,8 @@ public enum RuleType {
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
sb
.
append
(
"[实际值:"
).
append
(
convertDoublesToString
(
values
)).
append
(
"] "
);
sb
.
append
(
"[最大阈值: "
+
convertDoubleToString
(
ruleValue
)
+
" ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
+
"]"
);
sb
.
append
(
"[最大阈值: "
).
append
(
convertDoubleToString
(
ruleValue
)).
append
(
" ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
).
append
(
"]"
);
return
sb
.
toString
();
}
...
...
@@ -268,8 +267,8 @@ public enum RuleType {
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
sb
.
append
(
"[实际值:"
).
append
(
convertDoublesToString
(
values
)).
append
(
"] "
);
sb
.
append
(
"[最小阈值: "
+
convertDoubleToString
(
ruleValue
)
+
" ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
+
"]"
);
sb
.
append
(
"[最小阈值: "
).
append
(
convertDoubleToString
(
ruleValue
)).
append
(
" ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
).
append
(
"]"
);
return
sb
.
toString
();
}
...
...
@@ -314,8 +313,8 @@ public enum RuleType {
sb
.
append
(
"[实际值:"
).
append
(
convertDoublesToString
(
values
)).
append
(
"] "
);
sb
.
append
(
"[波动上升百分比:"
).
append
(
convertPercentsToString
(
buildFlucAscPers
(
values
))).
append
(
"] "
);
sb
.
append
(
"[波动上升百分比阈值: "
+
m_df
.
format
(
ruleValue
)
+
"% ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
+
"]"
);
sb
.
append
(
"[波动上升百分比阈值: "
).
append
(
m_df
.
format
(
ruleValue
)).
append
(
"% ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
).
append
(
"]"
);
sb
.
append
(
"[波动上升百分比为以最后一分钟的数据为基准,前面每分钟的值比基准值上升的百分比]"
);
return
sb
.
toString
();
...
...
@@ -367,8 +366,8 @@ public enum RuleType {
sb
.
append
(
"[实际值:"
).
append
(
convertDoublesToString
(
values
)).
append
(
"] "
);
sb
.
append
(
"[波动下降百分比:"
).
append
(
convertPercentsToString
(
buildFlucDescPers
(
values
))).
append
(
"] "
);
sb
.
append
(
"[波动下降百分比阈值: "
+
m_df
.
format
(
ruleValue
)
+
"% ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
+
"]"
);
sb
.
append
(
"[波动下降百分比阈值: "
).
append
(
m_df
.
format
(
ruleValue
)).
append
(
"% ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
).
append
(
"]"
);
sb
.
append
(
"[波动下降百分比为以最后一分钟的数据为基准,前面每分钟的值比基准值下降的百分比]"
);
return
sb
.
toString
();
...
...
@@ -408,8 +407,8 @@ public enum RuleType {
sb
.
append
(
"[实际值:"
).
append
(
convertDoublesToString
(
values
)).
append
(
"] "
);
sb
.
append
(
"[实际值总和:"
).
append
(
convertDoubleToString
(
calSum
(
values
))).
append
(
"] "
);
sb
.
append
(
"[总和最大阈值: "
+
convertDoubleToString
(
ruleValue
)
+
" ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
+
"]"
);
sb
.
append
(
"[总和最大阈值: "
).
append
(
convertDoubleToString
(
ruleValue
)).
append
(
" ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
).
append
(
"]"
);
return
sb
.
toString
();
}
...
...
@@ -440,8 +439,8 @@ public enum RuleType {
sb
.
append
(
"[实际值:"
).
append
(
convertDoublesToString
(
values
)).
append
(
"] "
);
sb
.
append
(
"[实际值总和:"
).
append
(
convertDoubleToString
(
calSum
(
values
))).
append
(
"] "
);
sb
.
append
(
"[总和最小阈值: "
+
convertDoubleToString
(
ruleValue
)
+
" ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
+
"]"
);
sb
.
append
(
"[总和最小阈值: "
).
append
(
convertDoubleToString
(
ruleValue
)).
append
(
" ]"
);
sb
.
append
(
"[告警时间:"
).
append
(
sdf
.
format
(
new
Date
())
).
append
(
"]"
);
return
sb
.
toString
();
}
...
...
@@ -527,7 +526,7 @@ public enum RuleType {
}
};
protected
static
final
long
MbS
=
1
*
60
*
1024
*
1024
;
protected
static
final
long
MbS
=
60
*
1024
*
1024
;
protected
static
final
long
GbS
=
MbS
*
1024
;
...
...
cat-consumer/src/main/java/com/dianping/cat/consumer/business/BusinessAnalyzer.java
浏览文件 @
fe5e73b6
...
...
@@ -18,14 +18,6 @@
*/
package
com.dianping.cat.consumer.business
;
import
java.util.List
;
import
org.codehaus.plexus.logging.LogEnabled
;
import
org.codehaus.plexus.logging.Logger
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
org.unidal.lookup.util.StringUtils
;
import
com.dianping.cat.Constants
;
import
com.dianping.cat.analysis.AbstractMessageAnalyzer
;
import
com.dianping.cat.analysis.MessageAnalyzer
;
...
...
@@ -38,6 +30,13 @@ import com.dianping.cat.message.Metric;
import
com.dianping.cat.message.spi.MessageTree
;
import
com.dianping.cat.report.DefaultReportManager.StoragePolicy
;
import
com.dianping.cat.report.ReportManager
;
import
org.codehaus.plexus.logging.LogEnabled
;
import
org.codehaus.plexus.logging.Logger
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
org.unidal.lookup.util.StringUtils
;
import
java.util.List
;
@Named
(
type
=
MessageAnalyzer
.
class
,
value
=
BusinessAnalyzer
.
ID
,
instantiationStrategy
=
Named
.
PER_LOOKUP
)
public
class
BusinessAnalyzer
extends
AbstractMessageAnalyzer
<
BusinessReport
>
implements
LogEnabled
{
...
...
@@ -77,11 +76,7 @@ public class BusinessAnalyzer extends AbstractMessageAnalyzer<BusinessReport> im
@Override
public
boolean
isEligable
(
MessageTree
tree
)
{
if
(
tree
.
getMetrics
().
size
()
>
0
)
{
return
true
;
}
else
{
return
false
;
}
return
tree
.
getMetrics
().
size
()
>
0
;
}
@Override
...
...
cat-consumer/src/main/java/com/dianping/cat/consumer/cross/CrossAnalyzer.java
浏览文件 @
fe5e73b6
...
...
@@ -18,28 +18,23 @@
*/
package
com.dianping.cat.consumer.cross
;
import
java.util.List
;
import
org.codehaus.plexus.logging.LogEnabled
;
import
org.codehaus.plexus.logging.Logger
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
org.unidal.lookup.util.StringUtils
;
import
com.dianping.cat.analysis.AbstractMessageAnalyzer
;
import
com.dianping.cat.analysis.MessageAnalyzer
;
import
com.dianping.cat.config.server.ServerConfigManager
;
import
com.dianping.cat.consumer.cross.model.entity.CrossReport
;
import
com.dianping.cat.consumer.cross.model.entity.Local
;
import
com.dianping.cat.consumer.cross.model.entity.Name
;
import
com.dianping.cat.consumer.cross.model.entity.Remote
;
import
com.dianping.cat.consumer.cross.model.entity.Type
;
import
com.dianping.cat.consumer.cross.model.entity.*
;
import
com.dianping.cat.message.Event
;
import
com.dianping.cat.message.Message
;
import
com.dianping.cat.message.Transaction
;
import
com.dianping.cat.message.spi.MessageTree
;
import
com.dianping.cat.report.DefaultReportManager.StoragePolicy
;
import
com.dianping.cat.report.ReportManager
;
import
org.codehaus.plexus.logging.LogEnabled
;
import
org.codehaus.plexus.logging.Logger
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
org.unidal.lookup.util.StringUtils
;
import
java.util.List
;
@Named
(
type
=
MessageAnalyzer
.
class
,
value
=
CrossAnalyzer
.
ID
,
instantiationStrategy
=
Named
.
PER_LOOKUP
)
public
class
CrossAnalyzer
extends
AbstractMessageAnalyzer
<
CrossReport
>
implements
LogEnabled
{
...
...
@@ -102,9 +97,7 @@ public class CrossAnalyzer extends AbstractMessageAnalyzer<CrossReport> implemen
@Override
public
CrossReport
getReport
(
String
domain
)
{
CrossReport
report
=
m_reportManager
.
getHourlyReport
(
getStartTime
(),
domain
,
false
);
return
report
;
return
m_reportManager
.
getHourlyReport
(
getStartTime
(),
domain
,
false
);
}
@Override
...
...
@@ -130,7 +123,7 @@ public class CrossAnalyzer extends AbstractMessageAnalyzer<CrossReport> implemen
m_reportManager
.
loadHourlyReports
(
getStartTime
(),
StoragePolicy
.
FILE
,
m_index
);
}
public
CrossInfo
parseC
or
ssTransaction
(
Transaction
t
,
MessageTree
tree
)
{
public
CrossInfo
parseC
ro
ssTransaction
(
Transaction
t
,
MessageTree
tree
)
{
String
type
=
t
.
getType
();
if
(
m_serverConfigManager
.
isRpcClient
(
type
))
{
...
...
@@ -207,7 +200,7 @@ public class CrossAnalyzer extends AbstractMessageAnalyzer<CrossReport> implemen
}
private
void
processTransaction
(
CrossReport
report
,
MessageTree
tree
,
Transaction
t
)
{
CrossInfo
crossInfo
=
parseC
or
ssTransaction
(
t
,
tree
);
CrossInfo
crossInfo
=
parseC
ro
ssTransaction
(
t
,
tree
);
if
(
crossInfo
!=
null
&&
crossInfo
.
validate
())
{
updateCrossReport
(
report
,
t
,
crossInfo
);
...
...
cat-consumer/src/main/java/com/dianping/cat/consumer/cross/CrossDelegate.java
浏览文件 @
fe5e73b6
...
...
@@ -18,12 +18,6 @@
*/
package
com.dianping.cat.consumer.cross
;
import
java.util.Date
;
import
java.util.Map
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
com.dianping.cat.config.server.ServerFilterConfigManager
;
import
com.dianping.cat.consumer.cross.model.entity.CrossReport
;
import
com.dianping.cat.consumer.cross.model.transform.DefaultNativeBuilder
;
...
...
@@ -32,6 +26,11 @@ import com.dianping.cat.consumer.cross.model.transform.DefaultSaxParser;
import
com.dianping.cat.report.ReportDelegate
;
import
com.dianping.cat.task.TaskManager
;
import
com.dianping.cat.task.TaskManager.TaskProlicy
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
java.util.Date
;
import
java.util.Map
;
@Named
(
type
=
ReportDelegate
.
class
,
value
=
CrossAnalyzer
.
ID
)
public
class
CrossDelegate
implements
ReportDelegate
<
CrossReport
>
{
...
...
@@ -101,8 +100,6 @@ public class CrossDelegate implements ReportDelegate<CrossReport> {
@Override
public
CrossReport
parseXml
(
String
xml
)
throws
Exception
{
CrossReport
report
=
DefaultSaxParser
.
parse
(
xml
);
return
report
;
return
DefaultSaxParser
.
parse
(
xml
);
}
}
cat-consumer/src/main/java/com/dianping/cat/consumer/dependency/DependencyDelegate.java
浏览文件 @
fe5e73b6
...
...
@@ -18,12 +18,6 @@
*/
package
com.dianping.cat.consumer.dependency
;
import
java.util.Date
;
import
java.util.Map
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
com.dianping.cat.Constants
;
import
com.dianping.cat.consumer.dependency.model.entity.DependencyReport
;
import
com.dianping.cat.consumer.dependency.model.transform.DefaultNativeBuilder
;
...
...
@@ -32,6 +26,11 @@ import com.dianping.cat.consumer.dependency.model.transform.DefaultSaxParser;
import
com.dianping.cat.report.ReportDelegate
;
import
com.dianping.cat.task.TaskManager
;
import
com.dianping.cat.task.TaskManager.TaskProlicy
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
java.util.Date
;
import
java.util.Map
;
@Named
(
type
=
ReportDelegate
.
class
,
value
=
DependencyAnalyzer
.
ID
)
public
class
DependencyDelegate
implements
ReportDelegate
<
DependencyReport
>
{
...
...
@@ -92,8 +91,6 @@ public class DependencyDelegate implements ReportDelegate<DependencyReport> {
@Override
public
DependencyReport
parseXml
(
String
xml
)
throws
Exception
{
DependencyReport
report
=
DefaultSaxParser
.
parse
(
xml
);
return
report
;
return
DefaultSaxParser
.
parse
(
xml
);
}
}
cat-consumer/src/main/java/com/dianping/cat/consumer/dump/DumpAnalyzer.java
浏览文件 @
fe5e73b6
...
...
@@ -18,8 +18,14 @@
*/
package
com.dianping.cat.consumer.dump
;
import
java.util.concurrent.TimeUnit
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.analysis.AbstractMessageAnalyzer
;
import
com.dianping.cat.analysis.MessageAnalyzer
;
import
com.dianping.cat.message.Transaction
;
import
com.dianping.cat.message.internal.MessageId
;
import
com.dianping.cat.message.spi.MessageTree
;
import
com.dianping.cat.report.ReportManager
;
import
com.dianping.cat.statistic.ServerStatisticManager
;
import
org.codehaus.plexus.logging.LogEnabled
;
import
org.codehaus.plexus.logging.Logger
;
import
org.unidal.cat.message.storage.MessageDumper
;
...
...
@@ -29,14 +35,7 @@ import org.unidal.helper.Threads;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.analysis.AbstractMessageAnalyzer
;
import
com.dianping.cat.analysis.MessageAnalyzer
;
import
com.dianping.cat.message.Transaction
;
import
com.dianping.cat.message.internal.MessageId
;
import
com.dianping.cat.message.spi.MessageTree
;
import
com.dianping.cat.report.ReportManager
;
import
com.dianping.cat.statistic.ServerStatisticManager
;
import
java.util.concurrent.TimeUnit
;
@Named
(
type
=
MessageAnalyzer
.
class
,
value
=
DumpAnalyzer
.
ID
,
instantiationStrategy
=
Named
.
PER_LOOKUP
)
public
class
DumpAnalyzer
extends
AbstractMessageAnalyzer
<
Object
>
implements
LogEnabled
{
...
...
@@ -118,13 +117,10 @@ public class DumpAnalyzer extends AbstractMessageAnalyzer<Object> implements Log
try
{
MessageId
messageId
=
MessageId
.
parse
(
tree
.
getMessageId
());
if
(
shouldDiscrad
(
messageId
))
{
return
;
}
else
{
if
(!
shouldDiscrad
(
messageId
))
{
processWithStorage
(
tree
,
messageId
,
messageId
.
getHour
());
}
}
catch
(
Exception
e
)
{
return
;
}
}
...
...
cat-consumer/src/main/java/com/dianping/cat/consumer/dump/LocalMessageBucketManager.java
浏览文件 @
fe5e73b6
...
...
@@ -18,31 +18,6 @@
*/
package
com.dianping.cat.consumer.dump
;
import
java.io.File
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.concurrent.BlockingQueue
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.LinkedBlockingQueue
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.locks.LockSupport
;
import
io.netty.buffer.ByteBuf
;
import
org.codehaus.plexus.logging.LogEnabled
;
import
org.codehaus.plexus.logging.Logger
;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
;
import
org.unidal.helper.Scanners
;
import
org.unidal.helper.Scanners.FileMatcher
;
import
org.unidal.helper.Threads
;
import
org.unidal.helper.Threads.Task
;
import
org.unidal.lookup.ContainerHolder
;
import
org.unidal.lookup.annotation.Inject
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.CatConstants
;
import
com.dianping.cat.config.server.ServerConfigManager
;
...
...
@@ -60,6 +35,26 @@ import com.dianping.cat.message.storage.MessageBlock;
import
com.dianping.cat.message.storage.MessageBucket
;
import
com.dianping.cat.message.storage.MessageBucketManager
;
import
com.dianping.cat.statistic.ServerStatisticManager
;
import
io.netty.buffer.ByteBuf
;
import
org.codehaus.plexus.logging.LogEnabled
;
import
org.codehaus.plexus.logging.Logger
;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
;
import
org.unidal.helper.Scanners
;
import
org.unidal.helper.Scanners.FileMatcher
;
import
org.unidal.helper.Threads
;
import
org.unidal.helper.Threads.Task
;
import
org.unidal.lookup.ContainerHolder
;
import
org.unidal.lookup.annotation.Inject
;
import
java.io.File
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.concurrent.BlockingQueue
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.LinkedBlockingQueue
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.locks.LockSupport
;
public
class
LocalMessageBucketManager
extends
ContainerHolder
implements
MessageBucketManager
,
Initializable
,
LogEnabled
{
...
...
@@ -206,10 +201,10 @@ public class LocalMessageBucketManager extends ContainerHolder
LockSupport
.
parkNanos
(
200
*
1000
*
1000L
);
// wait 200 ms
if
(
first
==
false
)
{
if
(
!
first
)
{
boolean
retry
=
m_messageBlocks
.
offer
(
block
);
if
(
retry
==
false
)
{
if
(
!
retry
)
{
Cat
.
logError
(
new
RuntimeException
(
"error flush block when read logview"
));
}
else
{
LockSupport
.
parkNanos
(
200
*
1000
*
1000L
);
// wait 200 ms
...
...
@@ -256,9 +251,9 @@ public class LocalMessageBucketManager extends ContainerHolder
return
null
;
}
pr
otected
void
logStorageState
(
final
MessageTree
tree
)
{
pr
ivate
void
logStorageState
(
final
MessageTree
tree
)
{
String
domain
=
tree
.
getDomain
();
int
size
=
((
DefaultMessageTree
)
tree
)
.
getBuffer
().
readableBytes
();
int
size
=
tree
.
getBuffer
().
readableBytes
();
m_serverStateManager
.
addMessageSize
(
domain
,
size
);
if
((++
m_total
)
%
CatConstants
.
SUCCESS_COUNT
==
0
)
{
...
...
cat-consumer/src/main/java/com/dianping/cat/consumer/event/EventAnalyzer.java
浏览文件 @
fe5e73b6
...
...
@@ -18,32 +18,26 @@
*/
package
com.dianping.cat.consumer.event
;
import
java.util.List
;
import
java.util.Set
;
import
org.codehaus.plexus.logging.LogEnabled
;
import
org.codehaus.plexus.logging.Logger
;
import
org.unidal.helper.Threads
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.CatConstants
;
import
com.dianping.cat.analysis.AbstractMessageAnalyzer
;
import
com.dianping.cat.analysis.MessageAnalyzer
;
import
com.dianping.cat.config.AtomicMessageConfigManager
;
import
com.dianping.cat.consumer.event.model.entity.EventName
;
import
com.dianping.cat.consumer.event.model.entity.EventReport
;
import
com.dianping.cat.consumer.event.model.entity.EventType
;
import
com.dianping.cat.consumer.event.model.entity.Machine
;
import
com.dianping.cat.consumer.event.model.entity.Range
;
import
com.dianping.cat.consumer.event.model.entity.StatusCode
;
import
com.dianping.cat.consumer.event.model.entity.*
;
import
com.dianping.cat.helper.TimeHelper
;
import
com.dianping.cat.message.Event
;
import
com.dianping.cat.message.Transaction
;
import
com.dianping.cat.message.spi.MessageTree
;
import
com.dianping.cat.report.DefaultReportManager.StoragePolicy
;
import
com.dianping.cat.report.ReportManager
;
import
org.codehaus.plexus.logging.LogEnabled
;
import
org.codehaus.plexus.logging.Logger
;
import
org.unidal.helper.Threads
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
java.util.List
;
import
java.util.Set
;
@Named
(
type
=
MessageAnalyzer
.
class
,
value
=
EventAnalyzer
.
ID
,
instantiationStrategy
=
Named
.
PER_LOOKUP
)
public
class
EventAnalyzer
extends
AbstractMessageAnalyzer
<
EventReport
>
implements
LogEnabled
{
...
...
@@ -82,7 +76,7 @@ public class EventAnalyzer extends AbstractMessageAnalyzer<EventReport> implemen
EventReport
report
=
m_reportManager
.
getHourlyReport
(
period
,
domain
,
false
);
if
(
period
==
current
)
{
report
.
accept
(
m_computer
.
setDuration
(
remainder
/
1000
));
report
.
accept
(
m_computer
.
setDuration
(
remainder
/
1000
.0
));
}
else
if
(
period
<
current
)
{
report
.
accept
(
m_computer
.
setDuration
(
3600
));
}
...
...
cat-consumer/src/main/java/com/dianping/cat/consumer/event/EventDelegate.java
浏览文件 @
fe5e73b6
...
...
@@ -18,12 +18,6 @@
*/
package
com.dianping.cat.consumer.event
;
import
java.util.Date
;
import
java.util.Map
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.Constants
;
import
com.dianping.cat.config.AtomicMessageConfigManager
;
...
...
@@ -37,6 +31,11 @@ import com.dianping.cat.consumer.event.model.transform.DefaultSaxParser;
import
com.dianping.cat.report.ReportDelegate
;
import
com.dianping.cat.task.TaskManager
;
import
com.dianping.cat.task.TaskManager.TaskProlicy
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
java.util.Date
;
import
java.util.Map
;
@Named
(
type
=
ReportDelegate
.
class
,
value
=
EventAnalyzer
.
ID
)
public
class
EventDelegate
implements
ReportDelegate
<
EventReport
>
{
...
...
@@ -153,8 +152,6 @@ public class EventDelegate implements ReportDelegate<EventReport> {
@Override
public
EventReport
parseXml
(
String
xml
)
throws
Exception
{
EventReport
report
=
DefaultSaxParser
.
parse
(
xml
);
return
report
;
return
DefaultSaxParser
.
parse
(
xml
);
}
}
cat-consumer/src/main/java/com/dianping/cat/consumer/heartbeat/HeartbeatAnalyzer.java
浏览文件 @
fe5e73b6
...
...
@@ -18,15 +18,6 @@
*/
package
com.dianping.cat.consumer.heartbeat
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map.Entry
;
import
org.codehaus.plexus.logging.LogEnabled
;
import
org.codehaus.plexus.logging.Logger
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.analysis.AbstractMessageAnalyzer
;
import
com.dianping.cat.analysis.MessageAnalyzer
;
...
...
@@ -38,15 +29,15 @@ import com.dianping.cat.message.Heartbeat;
import
com.dianping.cat.message.spi.MessageTree
;
import
com.dianping.cat.report.DefaultReportManager.StoragePolicy
;
import
com.dianping.cat.report.ReportManager
;
import
com.dianping.cat.status.model.entity.
DiskVolumeInfo
;
import
com.dianping.cat.status.model.entity.Extension
;
import
com.dianping.cat.status.model.entity.ExtensionDetail
;
import
com.dianping.cat.status.model.entity.GcInfo
;
import
com.dianping.cat.status.model.entity.MemoryInfo
;
import
com.dianping.cat.status.model.entity.MessageInfo
;
import
com.dianping.cat.status.model.entity.OsInfo
;
import
com.dianping.cat.status.model.entity.StatusInfo
;
import
com.dianping.cat.status.model.entity.ThreadsInfo
;
import
com.dianping.cat.status.model.entity.
*
;
import
org.codehaus.plexus.logging.LogEnabled
;
import
org.codehaus.plexus.logging.Logger
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map.Entry
;
@Named
(
type
=
MessageAnalyzer
.
class
,
value
=
HeartbeatAnalyzer
.
ID
,
instantiationStrategy
=
Named
.
PER_LOOKUP
)
public
class
HeartbeatAnalyzer
extends
AbstractMessageAnalyzer
<
HeartbeatReport
>
implements
LogEnabled
{
...
...
@@ -123,11 +114,7 @@ public class HeartbeatAnalyzer extends AbstractMessageAnalyzer<HeartbeatReport>
@Override
public
boolean
isEligable
(
MessageTree
tree
)
{
if
(
tree
.
getHeartbeats
().
size
()
>
0
)
{
return
true
;
}
else
{
return
false
;
}
return
tree
.
getHeartbeats
().
size
()
>
0
;
}
@Override
...
...
cat-consumer/src/main/java/com/dianping/cat/consumer/heartbeat/HeartbeatDelegate.java
浏览文件 @
fe5e73b6
...
...
@@ -18,12 +18,6 @@
*/
package
com.dianping.cat.consumer.heartbeat
;
import
java.util.Date
;
import
java.util.Map
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
com.dianping.cat.config.server.ServerFilterConfigManager
;
import
com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport
;
import
com.dianping.cat.consumer.heartbeat.model.transform.DefaultNativeBuilder
;
...
...
@@ -32,6 +26,11 @@ import com.dianping.cat.consumer.heartbeat.model.transform.DefaultSaxParser;
import
com.dianping.cat.report.ReportDelegate
;
import
com.dianping.cat.task.TaskManager
;
import
com.dianping.cat.task.TaskManager.TaskProlicy
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
java.util.Date
;
import
java.util.Map
;
@Named
(
type
=
ReportDelegate
.
class
,
value
=
HeartbeatAnalyzer
.
ID
)
public
class
HeartbeatDelegate
implements
ReportDelegate
<
HeartbeatReport
>
{
...
...
@@ -101,8 +100,6 @@ public class HeartbeatDelegate implements ReportDelegate<HeartbeatReport> {
@Override
public
HeartbeatReport
parseXml
(
String
xml
)
throws
Exception
{
HeartbeatReport
report
=
DefaultSaxParser
.
parse
(
xml
);
return
report
;
return
DefaultSaxParser
.
parse
(
xml
);
}
}
cat-consumer/src/main/java/com/dianping/cat/consumer/matrix/MatrixAnalyzer.java
浏览文件 @
fe5e73b6
...
...
@@ -18,16 +18,6 @@
*/
package
com.dianping.cat.consumer.matrix
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map.Entry
;
import
org.codehaus.plexus.logging.LogEnabled
;
import
org.codehaus.plexus.logging.Logger
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
com.dianping.cat.analysis.AbstractMessageAnalyzer
;
import
com.dianping.cat.analysis.MessageAnalyzer
;
import
com.dianping.cat.consumer.matrix.model.entity.Matrix
;
...
...
@@ -38,6 +28,15 @@ import com.dianping.cat.message.Transaction;
import
com.dianping.cat.message.spi.MessageTree
;
import
com.dianping.cat.report.DefaultReportManager.StoragePolicy
;
import
com.dianping.cat.report.ReportManager
;
import
org.codehaus.plexus.logging.LogEnabled
;
import
org.codehaus.plexus.logging.Logger
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map.Entry
;
@Named
(
type
=
MessageAnalyzer
.
class
,
value
=
MatrixAnalyzer
.
ID
,
instantiationStrategy
=
Named
.
PER_LOOKUP
)
public
class
MatrixAnalyzer
extends
AbstractMessageAnalyzer
<
MatrixReport
>
implements
LogEnabled
{
...
...
@@ -62,9 +61,7 @@ public class MatrixAnalyzer extends AbstractMessageAnalyzer<MatrixReport> implem
@Override
public
MatrixReport
getReport
(
String
domain
)
{
MatrixReport
report
=
m_reportManager
.
getHourlyReport
(
getStartTime
(),
domain
,
false
);
return
report
;
return
m_reportManager
.
getHourlyReport
(
getStartTime
(),
domain
,
false
);
}
@Override
...
...
cat-consumer/src/main/java/com/dianping/cat/consumer/problem/ProblemAnalyzer.java
浏览文件 @
fe5e73b6
...
...
@@ -18,17 +18,6 @@
*/
package
com.dianping.cat.consumer.problem
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
import
org.codehaus.plexus.logging.LogEnabled
;
import
org.codehaus.plexus.logging.Logger
;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
com.dianping.cat.analysis.AbstractMessageAnalyzer
;
import
com.dianping.cat.analysis.MessageAnalyzer
;
import
com.dianping.cat.consumer.problem.model.entity.Machine
;
...
...
@@ -36,6 +25,16 @@ import com.dianping.cat.consumer.problem.model.entity.ProblemReport;
import
com.dianping.cat.message.spi.MessageTree
;
import
com.dianping.cat.report.DefaultReportManager.StoragePolicy
;
import
com.dianping.cat.report.ReportManager
;
import
org.codehaus.plexus.logging.LogEnabled
;
import
org.codehaus.plexus.logging.Logger
;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
@Named
(
type
=
MessageAnalyzer
.
class
,
value
=
ProblemAnalyzer
.
ID
,
instantiationStrategy
=
Named
.
PER_LOOKUP
)
public
class
ProblemAnalyzer
extends
AbstractMessageAnalyzer
<
ProblemReport
>
implements
LogEnabled
,
Initializable
{
...
...
@@ -67,9 +66,7 @@ public class ProblemAnalyzer extends AbstractMessageAnalyzer<ProblemReport> impl
@Override
public
ProblemReport
getReport
(
String
domain
)
{
ProblemReport
report
=
m_reportManager
.
getHourlyReport
(
getStartTime
(),
domain
,
false
);
return
report
;
return
m_reportManager
.
getHourlyReport
(
getStartTime
(),
domain
,
false
);
}
@Override
...
...
cat-consumer/src/main/java/com/dianping/cat/consumer/problem/ProblemDelegate.java
浏览文件 @
fe5e73b6
...
...
@@ -18,13 +18,6 @@
*/
package
com.dianping.cat.consumer.problem
;
import
java.util.Date
;
import
java.util.Map
;
import
java.util.Map.Entry
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.config.server.ServerFilterConfigManager
;
import
com.dianping.cat.consumer.problem.model.entity.ProblemReport
;
...
...
@@ -34,6 +27,12 @@ import com.dianping.cat.consumer.problem.model.transform.DefaultSaxParser;
import
com.dianping.cat.report.ReportDelegate
;
import
com.dianping.cat.task.TaskManager
;
import
com.dianping.cat.task.TaskManager.TaskProlicy
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
java.util.Date
;
import
java.util.Map
;
import
java.util.Map.Entry
;
@Named
(
type
=
ReportDelegate
.
class
,
value
=
ProblemAnalyzer
.
ID
)
public
class
ProblemDelegate
implements
ReportDelegate
<
ProblemReport
>
{
...
...
@@ -114,8 +113,6 @@ public class ProblemDelegate implements ReportDelegate<ProblemReport> {
@Override
public
ProblemReport
parseXml
(
String
xml
)
throws
Exception
{
ProblemReport
report
=
DefaultSaxParser
.
parse
(
xml
);
return
report
;
return
DefaultSaxParser
.
parse
(
xml
);
}
}
cat-consumer/src/main/java/com/dianping/cat/consumer/state/StateAnalyzer.java
浏览文件 @
fe5e73b6
...
...
@@ -18,27 +18,12 @@
*/
package
com.dianping.cat.consumer.state
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map.Entry
;
import
java.util.concurrent.atomic.AtomicLong
;
import
org.codehaus.plexus.logging.LogEnabled
;
import
org.codehaus.plexus.logging.Logger
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
com.dianping.cat.Constants
;
import
com.dianping.cat.analysis.AbstractMessageAnalyzer
;
import
com.dianping.cat.analysis.MessageAnalyzer
;
import
com.dianping.cat.config.server.ServerFilterConfigManager
;
import
com.dianping.cat.configuration.NetworkInterfaceManager
;
import
com.dianping.cat.consumer.state.model.entity.Detail
;
import
com.dianping.cat.consumer.state.model.entity.Machine
;
import
com.dianping.cat.consumer.state.model.entity.Message
;
import
com.dianping.cat.consumer.state.model.entity.ProcessDomain
;
import
com.dianping.cat.consumer.state.model.entity.StateReport
;
import
com.dianping.cat.consumer.state.model.entity.*
;
import
com.dianping.cat.core.dal.Project
;
import
com.dianping.cat.message.Heartbeat
;
import
com.dianping.cat.message.spi.MessageTree
;
...
...
@@ -47,6 +32,16 @@ import com.dianping.cat.report.ReportManager;
import
com.dianping.cat.service.ProjectService
;
import
com.dianping.cat.statistic.ServerStatistic.Statistic
;
import
com.dianping.cat.statistic.ServerStatisticManager
;
import
org.codehaus.plexus.logging.LogEnabled
;
import
org.codehaus.plexus.logging.Logger
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map.Entry
;
import
java.util.concurrent.atomic.AtomicLong
;
@Named
(
type
=
MessageAnalyzer
.
class
,
value
=
StateAnalyzer
.
ID
,
instantiationStrategy
=
Named
.
PER_LOOKUP
)
public
class
StateAnalyzer
extends
AbstractMessageAnalyzer
<
StateReport
>
implements
LogEnabled
{
...
...
@@ -223,11 +218,7 @@ public class StateAnalyzer extends AbstractMessageAnalyzer<StateReport> implemen
public
boolean
isEligable
(
MessageTree
tree
)
{
List
<
Heartbeat
>
heartbeats
=
tree
.
getHeartbeats
();
if
(
heartbeats
.
size
()
>
0
)
{
return
true
;
}
else
{
return
false
;
}
return
heartbeats
.
size
()
>
0
;
}
@Override
...
...
cat-consumer/src/main/java/com/dianping/cat/consumer/state/StateDelegate.java
浏览文件 @
fe5e73b6
...
...
@@ -18,13 +18,6 @@
*/
package
com.dianping.cat.consumer.state
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.Map
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
com.dianping.cat.Constants
;
import
com.dianping.cat.consumer.state.model.entity.StateReport
;
import
com.dianping.cat.consumer.state.model.transform.DefaultNativeBuilder
;
...
...
@@ -34,6 +27,12 @@ import com.dianping.cat.report.ReportBucketManager;
import
com.dianping.cat.report.ReportDelegate
;
import
com.dianping.cat.task.TaskManager
;
import
com.dianping.cat.task.TaskManager.TaskProlicy
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.Map
;
@Named
(
type
=
ReportDelegate
.
class
,
value
=
StateAnalyzer
.
ID
)
public
class
StateDelegate
implements
ReportDelegate
<
StateReport
>
{
...
...
@@ -122,8 +121,6 @@ public class StateDelegate implements ReportDelegate<StateReport> {
@Override
public
StateReport
parseXml
(
String
xml
)
throws
Exception
{
StateReport
report
=
DefaultSaxParser
.
parse
(
xml
);
return
report
;
return
DefaultSaxParser
.
parse
(
xml
);
}
}
cat-consumer/src/main/java/com/dianping/cat/consumer/storage/StorageDelegate.java
浏览文件 @
fe5e73b6
...
...
@@ -18,12 +18,6 @@
*/
package
com.dianping.cat.consumer.storage
;
import
java.util.Date
;
import
java.util.Map
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
com.dianping.cat.config.server.ServerFilterConfigManager
;
import
com.dianping.cat.consumer.storage.model.entity.StorageReport
;
import
com.dianping.cat.consumer.storage.model.transform.DefaultNativeBuilder
;
...
...
@@ -32,6 +26,11 @@ import com.dianping.cat.consumer.storage.model.transform.DefaultSaxParser;
import
com.dianping.cat.report.ReportDelegate
;
import
com.dianping.cat.task.TaskManager
;
import
com.dianping.cat.task.TaskManager.TaskProlicy
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
java.util.Date
;
import
java.util.Map
;
@Named
(
type
=
ReportDelegate
.
class
,
value
=
StorageAnalyzer
.
ID
)
public
class
StorageDelegate
implements
ReportDelegate
<
StorageReport
>
{
...
...
@@ -111,8 +110,7 @@ public class StorageDelegate implements ReportDelegate<StorageReport> {
@Override
public
StorageReport
parseXml
(
String
xml
)
throws
Exception
{
StorageReport
report
=
DefaultSaxParser
.
parse
(
xml
);
return
report
;
return
DefaultSaxParser
.
parse
(
xml
);
}
}
cat-consumer/src/main/java/com/dianping/cat/consumer/top/TopDelegate.java
浏览文件 @
fe5e73b6
...
...
@@ -18,16 +18,15 @@
*/
package
com.dianping.cat.consumer.top
;
import
java.util.Date
;
import
java.util.Map
;
import
org.unidal.lookup.annotation.Named
;
import
com.dianping.cat.consumer.top.model.entity.TopReport
;
import
com.dianping.cat.consumer.top.model.transform.DefaultNativeBuilder
;
import
com.dianping.cat.consumer.top.model.transform.DefaultNativeParser
;
import
com.dianping.cat.consumer.top.model.transform.DefaultSaxParser
;
import
com.dianping.cat.report.ReportDelegate
;
import
org.unidal.lookup.annotation.Named
;
import
java.util.Date
;
import
java.util.Map
;
@Named
(
type
=
ReportDelegate
.
class
,
value
=
TopAnalyzer
.
ID
)
public
class
TopDelegate
implements
ReportDelegate
<
TopReport
>
{
...
...
@@ -85,8 +84,6 @@ public class TopDelegate implements ReportDelegate<TopReport> {
@Override
public
TopReport
parseXml
(
String
xml
)
throws
Exception
{
TopReport
report
=
DefaultSaxParser
.
parse
(
xml
);
return
report
;
return
DefaultSaxParser
.
parse
(
xml
);
}
}
cat-consumer/src/main/java/com/dianping/cat/consumer/transaction/TransactionDelegate.java
浏览文件 @
fe5e73b6
...
...
@@ -18,12 +18,6 @@
*/
package
com.dianping.cat.consumer.transaction
;
import
java.util.Date
;
import
java.util.Map
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.Constants
;
import
com.dianping.cat.config.AtomicMessageConfigManager
;
...
...
@@ -37,6 +31,11 @@ import com.dianping.cat.consumer.transaction.model.transform.DefaultSaxParser;
import
com.dianping.cat.report.ReportDelegate
;
import
com.dianping.cat.task.TaskManager
;
import
com.dianping.cat.task.TaskManager.TaskProlicy
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
java.util.Date
;
import
java.util.Map
;
import
static
com
.
dianping
.
cat
.
Constants
.
ALL
;
...
...
@@ -156,8 +155,6 @@ public class TransactionDelegate implements ReportDelegate<TransactionReport> {
@Override
public
TransactionReport
parseXml
(
String
xml
)
throws
Exception
{
TransactionReport
report
=
DefaultSaxParser
.
parse
(
xml
);
return
report
;
return
DefaultSaxParser
.
parse
(
xml
);
}
}
cat-consumer/src/test/java/com/dianping/cat/consumer/cross/CrossInfoTest.java
浏览文件 @
fe5e73b6
...
...
@@ -47,7 +47,7 @@ public class CrossInfoTest extends ComponentTestCase {
DefaultTransaction
t
=
new
DefaultTransaction
(
"Other"
,
"method1"
,
null
);
MessageTree
tree
=
buildMockMessageTree
();
CrossInfo
info
=
analyzer
.
parseC
or
ssTransaction
(
t
,
tree
);
CrossInfo
info
=
analyzer
.
parseC
ro
ssTransaction
(
t
,
tree
);
Assert
.
assertEquals
(
true
,
info
==
null
);
}
...
...
@@ -61,7 +61,7 @@ public class CrossInfoTest extends ComponentTestCase {
DefaultTransaction
t
=
new
DefaultTransaction
(
"PigeonCall"
,
"method1"
,
null
);
MessageTree
tree
=
buildMockMessageTree
();
CrossInfo
info
=
analyzer
.
parseC
or
ssTransaction
(
t
,
tree
);
CrossInfo
info
=
analyzer
.
parseC
ro
ssTransaction
(
t
,
tree
);
Assert
.
assertEquals
(
info
.
getLocalAddress
(),
"192.168.0.1"
);
Assert
.
assertEquals
(
info
.
getRemoteAddress
(),
null
);
...
...
@@ -71,7 +71,7 @@ public class CrossInfoTest extends ComponentTestCase {
t
.
addChild
(
message
);
t
.
addChild
(
messageApp
);
info
=
analyzer
.
parseC
or
ssTransaction
(
t
,
tree
);
info
=
analyzer
.
parseC
ro
ssTransaction
(
t
,
tree
);
Assert
.
assertEquals
(
info
.
getLocalAddress
(),
"192.168.0.1"
);
Assert
.
assertEquals
(
info
.
getRemoteAddress
(),
"10.1.1.1"
);
...
...
@@ -89,7 +89,7 @@ public class CrossInfoTest extends ComponentTestCase {
DefaultTransaction
t
=
new
DefaultTransaction
(
"PigeonService"
,
"method1"
,
null
);
MessageTree
tree
=
buildMockMessageTree
();
CrossInfo
info
=
analyzer
.
parseC
or
ssTransaction
(
t
,
tree
);
CrossInfo
info
=
analyzer
.
parseC
ro
ssTransaction
(
t
,
tree
);
Assert
.
assertEquals
(
info
.
validate
(),
false
);
...
...
@@ -98,7 +98,7 @@ public class CrossInfoTest extends ComponentTestCase {
t
.
addChild
(
message
);
t
.
addChild
(
messageApp
);
info
=
analyzer
.
parseC
or
ssTransaction
(
t
,
tree
);
info
=
analyzer
.
parseC
ro
ssTransaction
(
t
,
tree
);
Assert
.
assertEquals
(
info
.
getLocalAddress
(),
"192.168.0.1"
);
Assert
.
assertEquals
(
info
.
getRemoteAddress
(),
"192.168.7.71"
);
...
...
@@ -116,14 +116,14 @@ public class CrossInfoTest extends ComponentTestCase {
DefaultTransaction
t
=
new
DefaultTransaction
(
"PigeonService"
,
"method1"
,
null
);
MessageTree
tree
=
buildMockMessageTree
();
CrossInfo
info
=
analyzer
.
parseC
or
ssTransaction
(
t
,
tree
);
CrossInfo
info
=
analyzer
.
parseC
ro
ssTransaction
(
t
,
tree
);
Message
message
=
new
DefaultEvent
(
"PigeonService.client"
,
"192.168.7.71:29987"
,
null
);
Message
messageApp
=
new
DefaultEvent
(
"PigeonService.app"
,
"myDomain"
,
null
);
t
.
addChild
(
message
);
t
.
addChild
(
messageApp
);
info
=
analyzer
.
parseC
or
ssTransaction
(
t
,
tree
);
info
=
analyzer
.
parseC
ro
ssTransaction
(
t
,
tree
);
Assert
.
assertEquals
(
info
.
getLocalAddress
(),
"192.168.0.1"
);
Assert
.
assertEquals
(
info
.
getRemoteAddress
(),
"192.168.7.71:29987"
);
...
...
cat-core/src/main/java/com/dianping/cat/config/sample/SampleConfigManager.java
浏览文件 @
fe5e73b6
...
...
@@ -116,9 +116,8 @@ public class SampleConfigManager implements Initializable {
synchronized
(
this
)
{
if
(
modifyTime
>
m_modifyTime
)
{
String
content
=
config
.
getContent
();
SampleConfig
sampleConfig
=
DefaultSaxParser
.
parse
(
content
);
m_config
=
sampleConfig
;
m_config
=
DefaultSaxParser
.
parse
(
content
)
;
m_modifyTime
=
modifyTime
;
}
}
...
...
cat-core/src/main/java/com/dianping/cat/report/DomainValidator.java
浏览文件 @
fe5e73b6
...
...
@@ -18,18 +18,16 @@
*/
package
com.dianping.cat.report
;
import
java.util.concurrent.ConcurrentHashMap
;
import
org.unidal.lookup.annotation.Named
;
import
java.util.concurrent.ConcurrentHashMap
;
@Named
public
class
DomainValidator
{
private
ConcurrentHashMap
<
String
,
String
>
m_valids
=
new
ConcurrentHashMap
<
String
,
String
>();
public
boolean
validate
(
String
domain
)
{
boolean
result
=
true
;
if
(!
m_valids
.
containsKey
(
domain
))
{
int
length
=
domain
.
length
();
char
c
;
...
...
@@ -43,6 +41,6 @@ public class DomainValidator {
}
m_valids
.
put
(
domain
,
domain
);
}
return
result
;
return
true
;
}
}
cat-core/src/main/java/com/dianping/cat/task/TaskManager.java
浏览文件 @
fe5e73b6
...
...
@@ -18,17 +18,16 @@
*/
package
com.dianping.cat.task
;
import
java.util.Calendar
;
import
java.util.Date
;
import
org.unidal.dal.jdbc.DalException
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.configuration.NetworkInterfaceManager
;
import
com.dianping.cat.core.dal.Task
;
import
com.dianping.cat.core.dal.TaskDao
;
import
org.unidal.dal.jdbc.DalException
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Named
;
import
java.util.Calendar
;
import
java.util.Date
;
@Named
public
class
TaskManager
{
...
...
@@ -211,10 +210,10 @@ public class TaskManager {
public
boolean
shouldCreateWeeklyTask
()
{
return
false
;
}
}
;
}
}
public
static
interface
TaskCreationPolicy
{
public
interface
TaskCreationPolicy
{
boolean
shouldCreateDailyTask
();
...
...
cat-core/src/main/java/com/dianping/cat/task/TimerSyncTask.java
浏览文件 @
fe5e73b6
...
...
@@ -18,16 +18,15 @@
*/
package
com.dianping.cat.task
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.concurrent.ExecutorService
;
import
org.unidal.helper.Threads
;
import
org.unidal.helper.Threads.Task
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.helper.TimeHelper
;
import
com.dianping.cat.message.Transaction
;
import
org.unidal.helper.Threads
;
import
org.unidal.helper.Threads.Task
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.concurrent.ExecutorService
;
public
class
TimerSyncTask
implements
Task
{
...
...
@@ -108,7 +107,7 @@ public class TimerSyncTask implements Task {
public
void
shutdown
()
{
}
public
static
interface
SyncHandler
{
public
interface
SyncHandler
{
public
String
getName
();
...
...
cat-hadoop/src/main/java/com/dianping/cat/hadoop/hdfs/HdfsMessageBucketManager.java
浏览文件 @
fe5e73b6
...
...
@@ -18,15 +18,16 @@
*/
package
com.dianping.cat.hadoop.hdfs
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.concurrent.ConcurrentHashMap
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.config.server.ServerConfigManager
;
import
com.dianping.cat.message.Message
;
import
com.dianping.cat.message.PathBuilder
;
import
com.dianping.cat.message.Transaction
;
import
com.dianping.cat.message.internal.DefaultTransaction
;
import
com.dianping.cat.message.internal.MessageId
;
import
com.dianping.cat.message.spi.MessageTree
;
import
com.dianping.cat.message.storage.MessageBucket
;
import
com.dianping.cat.message.storage.MessageBucketManager
;
import
org.apache.hadoop.fs.FileSystem
;
import
org.apache.hadoop.fs.Path
;
import
org.apache.hadoop.fs.PathFilter
;
...
...
@@ -38,16 +39,9 @@ import org.unidal.lookup.ContainerHolder;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.tuple.Pair
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.config.server.ServerConfigManager
;
import
com.dianping.cat.message.Message
;
import
com.dianping.cat.message.PathBuilder
;
import
com.dianping.cat.message.Transaction
;
import
com.dianping.cat.message.internal.DefaultTransaction
;
import
com.dianping.cat.message.internal.MessageId
;
import
com.dianping.cat.message.spi.MessageTree
;
import
com.dianping.cat.message.storage.MessageBucket
;
import
com.dianping.cat.message.storage.MessageBucketManager
;
import
java.io.IOException
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
public
class
HdfsMessageBucketManager
extends
ContainerHolder
implements
MessageBucketManager
,
Initializable
{
...
...
@@ -203,13 +197,12 @@ public class HdfsMessageBucketManager extends ContainerHolder implements Message
bucket
.
initialize
(
dataFile
,
date
);
m_buckets
.
put
(
bKey
,
bucket
);
}
if
(
bucket
!=
null
)
{
MessageTree
tree
=
bucket
.
findById
(
messageId
);
if
(
tree
!=
null
&&
tree
.
getMessageId
().
equals
(
messageId
))
{
t
.
addData
(
"path"
,
dataFile
);
return
tree
;
}
MessageTree
tree
=
bucket
.
findById
(
messageId
);
if
(
tree
!=
null
&&
tree
.
getMessageId
().
equals
(
messageId
))
{
t
.
addData
(
"path"
,
dataFile
);
return
tree
;
}
}
catch
(
Exception
e
)
{
t
.
setStatus
(
e
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录