Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦中观雨
cat
提交
85f783f7
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,发现更多精彩内容 >>
提交
85f783f7
编写于
9月 04, 2012
作者:
F
Frankie Wu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add interfaces after group discussion/brainstorm
上级
b75e9c0d
变更
17
隐藏空白更改
内联
并排
Showing
17 changed file
with
267 addition
and
3 deletion
+267
-3
dog-home/src/main/java/com/dianping/dog/alarm/data/DataEvent.java
.../src/main/java/com/dianping/dog/alarm/data/DataEvent.java
+21
-0
dog-home/src/main/java/com/dianping/dog/alarm/data/TransactionEvent.java
...in/java/com/dianping/dog/alarm/data/TransactionEvent.java
+7
-0
dog-home/src/main/java/com/dianping/dog/alarm/notification/EmailEvent.java
.../java/com/dianping/dog/alarm/notification/EmailEvent.java
+11
-0
dog-home/src/main/java/com/dianping/dog/alarm/notification/SmsEvent.java
...in/java/com/dianping/dog/alarm/notification/SmsEvent.java
+9
-0
dog-home/src/main/java/com/dianping/dog/alarm/problem/ProblemEvent.java
...ain/java/com/dianping/dog/alarm/problem/ProblemEvent.java
+6
-0
dog-home/src/main/java/com/dianping/dog/alarm/problem/ProblemViolationEvent.java
...com/dianping/dog/alarm/problem/ProblemViolationEvent.java
+5
-0
dog-home/src/main/java/com/dianping/dog/alarm/rule/AlarmRuleType.java
.../main/java/com/dianping/dog/alarm/rule/AlarmRuleType.java
+7
-0
dog-home/src/main/java/com/dianping/dog/alarm/rule/AlarmStrategy.java
.../main/java/com/dianping/dog/alarm/rule/AlarmStrategy.java
+28
-0
dog-home/src/main/java/com/dianping/dog/alarm/rule/Level.java
...home/src/main/java/com/dianping/dog/alarm/rule/Level.java
+5
-0
dog-home/src/main/java/com/dianping/dog/alarm/rule/exception/ExceptionAlarmExecutor.java
...ping/dog/alarm/rule/exception/ExceptionAlarmExecutor.java
+46
-0
dog-home/src/main/java/com/dianping/dog/alarm/rule/exception/ExceptionRowDataManager.java
...ing/dog/alarm/rule/exception/ExceptionRowDataManager.java
+15
-0
dog-home/src/main/java/com/dianping/dog/alarm/rule/exception/ExceptionRule.java
.../com/dianping/dog/alarm/rule/exception/ExceptionRule.java
+47
-0
dog-home/src/main/java/com/dianping/dog/alarm/rule/exception/ExceptionRuleDef.java
...m/dianping/dog/alarm/rule/exception/ExceptionRuleDef.java
+32
-0
dog-home/src/main/java/com/dianping/dog/alarm/rule/exception/ExceptionRuleManager.java
...anping/dog/alarm/rule/exception/ExceptionRuleManager.java
+23
-0
dog-home/src/main/java/com/dianping/dog/alarm/voilation/ViolationEvent.java
...java/com/dianping/dog/alarm/voilation/ViolationEvent.java
+5
-0
dog-home/src/main/java/com/dianping/dog/event/DefaultEventListenerRegistry.java
.../com/dianping/dog/event/DefaultEventListenerRegistry.java
+0
-1
dog-home/src/main/java/com/dianping/dog/event/EventListener.java
...e/src/main/java/com/dianping/dog/event/EventListener.java
+0
-2
未找到文件。
dog-home/src/main/java/com/dianping/dog/alarm/data/DataEvent.java
0 → 100644
浏览文件 @
85f783f7
package
com.dianping.dog.alarm.data
;
import
java.util.Date
;
public
interface
DataEvent
{
public
Date
getTimestamp
();
public
String
getDomain
();
public
String
getIp
();
public
String
getReport
();
public
String
getType
();
public
String
getName
();
public
long
getTotalCount
();
public
long
getFailCount
();
}
dog-home/src/main/java/com/dianping/dog/alarm/data/TransactionEvent.java
0 → 100644
浏览文件 @
85f783f7
package
com.dianping.dog.alarm.data
;
public
interface
TransactionEvent
extends
DataEvent
{
public
double
getAvg
();
// add more
}
dog-home/src/main/java/com/dianping/dog/alarm/notification/EmailEvent.java
0 → 100644
浏览文件 @
85f783f7
package
com.dianping.dog.alarm.notification
;
import
java.util.List
;
public
interface
EmailEvent
{
public
String
getTitle
();
public
String
getContent
();
public
List
<
String
>
getTos
();
}
dog-home/src/main/java/com/dianping/dog/alarm/notification/SmsEvent.java
0 → 100644
浏览文件 @
85f783f7
package
com.dianping.dog.alarm.notification
;
import
java.util.List
;
public
interface
SmsEvent
{
public
String
getContent
();
public
List
<
String
>
getPhoneNumbers
();
}
dog-home/src/main/java/com/dianping/dog/alarm/problem/ProblemEvent.java
0 → 100644
浏览文件 @
85f783f7
package
com.dianping.dog.alarm.problem
;
import
com.dianping.dog.alarm.data.DataEvent
;
public
interface
ProblemEvent
extends
DataEvent
{
}
dog-home/src/main/java/com/dianping/dog/alarm/problem/ProblemViolationEvent.java
0 → 100644
浏览文件 @
85f783f7
package
com.dianping.dog.alarm.problem
;
public
interface
ProblemViolationEvent
{
public
ProblemEvent
getOrigin
();
}
dog-home/src/main/java/com/dianping/dog/alarm/rule/AlarmRuleType.java
0 → 100644
浏览文件 @
85f783f7
package
com.dianping.dog.alarm.rule
;
public
enum
AlarmRuleType
{
Exception
,
Service
;
}
dog-home/src/main/java/com/dianping/dog/alarm/rule/AlarmStrategy.java
0 → 100644
浏览文件 @
85f783f7
package
com.dianping.dog.alarm.rule
;
public
enum
AlarmStrategy
{
EMAIL
(
"email"
),
SMS
(
"sms"
);
private
String
m_name
;
private
int
m_interval
;
private
AlarmStrategy
(
String
name
)
{
m_name
=
name
;
}
public
AlarmStrategy
setInterval
(
int
interval
)
{
m_interval
=
interval
;
return
this
;
}
public
String
getName
()
{
return
m_name
;
}
public
int
getInterval
()
{
return
m_interval
;
}
}
dog-home/src/main/java/com/dianping/dog/alarm/rule/Level.java
0 → 100644
浏览文件 @
85f783f7
package
com.dianping.dog.alarm.rule
;
public
enum
Level
{
Level1
,
Level2
,
Level3
}
dog-home/src/main/java/com/dianping/dog/alarm/rule/exception/ExceptionAlarmExecutor.java
0 → 100644
浏览文件 @
85f783f7
package
com.dianping.dog.alarm.rule.exception
;
import
java.util.List
;
import
com.dianping.dog.connector.RowData
;
import
com.dianping.dog.event.AlarmEvent
;
import
com.dianping.dog.event.DataEvent
;
import
com.dianping.dog.event.EventDispatcher
;
import
com.dianping.dog.event.EventListener
;
import
com.site.lookup.annotation.Inject
;
public
class
ExceptionAlarmExecutor
implements
EventListener
<
DataEvent
>
{
@Inject
private
EventDispatcher
m_dispatch
;
@Inject
private
ExceptionRowDataManager
m_rowDatamanager
;
@Inject
private
ExceptionRuleManager
m_manager
;
@Override
public
boolean
isEligible
(
DataEvent
event
)
{
return
false
;
}
@Override
public
void
onEvent
(
DataEvent
event
)
{
m_rowDatamanager
.
addData
(
event
.
getRowData
());
List
<
ExceptionRule
>
rules
=
m_manager
.
getRules
();
if
(
rules
!=
null
)
{
for
(
ExceptionRule
rule
:
rules
)
{
List
<
RowData
>
datas
=
m_rowDatamanager
.
fetchRowData
(
rule
);
AlarmEvent
alarm
=
rule
.
apply
(
datas
);
if
(
alarm
!=
null
)
{
m_dispatch
.
dispatch
(
alarm
);
}
}
}
}
}
dog-home/src/main/java/com/dianping/dog/alarm/rule/exception/ExceptionRowDataManager.java
0 → 100644
浏览文件 @
85f783f7
package
com.dianping.dog.alarm.rule.exception
;
import
java.util.List
;
import
com.dianping.dog.connector.RowData
;
public
class
ExceptionRowDataManager
{
public
void
addData
(
RowData
data
)
{
}
public
List
<
RowData
>
fetchRowData
(
ExceptionRule
rule
)
{
return
null
;
}
}
dog-home/src/main/java/com/dianping/dog/alarm/rule/exception/ExceptionRule.java
0 → 100644
浏览文件 @
85f783f7
package
com.dianping.dog.alarm.rule.exception
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
com.dianping.dog.alarm.rule.AlarmStrategy
;
import
com.dianping.dog.alarm.rule.Level
;
import
com.dianping.dog.connector.RowData
;
import
com.dianping.dog.event.AlarmEvent
;
public
class
ExceptionRule
{
private
String
m_domain
;
private
Map
<
Level
,
List
<
AlarmStrategy
>>
m_alarmStrategies
=
new
HashMap
<
Level
,
List
<
AlarmStrategy
>>();
private
Map
<
Level
,
Integer
>
m_alarmThresholds
=
new
HashMap
<
Level
,
Integer
>();
public
int
getByAlarmStrategy
(
Level
level
)
{
return
0
;
}
public
AlarmEvent
apply
(
List
<
RowData
>
datas
)
{
return
null
;
}
public
ExceptionRule
addBaseRuleDef
(
ExceptionRuleDef
def
)
{
return
this
;
}
public
Map
<
Level
,
List
<
AlarmStrategy
>>
getCustomAlarmStrategies
()
{
return
m_alarmStrategies
;
}
public
Map
<
Level
,
Integer
>
get_customAlarmThresholds
()
{
return
m_alarmThresholds
;
}
public
String
getDomain
()
{
return
m_domain
;
}
public
void
setDomain
(
String
domain
)
{
m_domain
=
domain
;
}
}
dog-home/src/main/java/com/dianping/dog/alarm/rule/exception/ExceptionRuleDef.java
0 → 100644
浏览文件 @
85f783f7
package
com.dianping.dog.alarm.rule.exception
;
import
java.util.HashMap
;
import
java.util.Map
;
import
com.dianping.dog.alarm.rule.AlarmStrategy
;
import
com.dianping.dog.alarm.rule.Level
;
import
com.sun.tools.javac.util.List
;
public
class
ExceptionRuleDef
{
private
Map
<
Level
,
List
<
AlarmStrategy
>>
m_alarmStrategies
=
new
HashMap
<
Level
,
List
<
AlarmStrategy
>>();
private
Map
<
Level
,
Integer
>
m_alarmThresholds
=
new
HashMap
<
Level
,
Integer
>();
public
Map
<
Level
,
List
<
AlarmStrategy
>>
getAlarmStrategies
()
{
return
m_alarmStrategies
;
}
public
void
setAlarmStrategies
(
Map
<
Level
,
List
<
AlarmStrategy
>>
alarmStrategies
)
{
m_alarmStrategies
=
alarmStrategies
;
}
public
Map
<
Level
,
Integer
>
getAlarmThresholds
()
{
return
m_alarmThresholds
;
}
public
void
setAlarmThresholds
(
Map
<
Level
,
Integer
>
alarmThresholds
)
{
m_alarmThresholds
=
alarmThresholds
;
}
}
dog-home/src/main/java/com/dianping/dog/alarm/rule/exception/ExceptionRuleManager.java
0 → 100644
浏览文件 @
85f783f7
package
com.dianping.dog.alarm.rule.exception
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
ExceptionRuleManager
{
private
List
<
ExceptionRule
>
rules
=
new
ArrayList
<
ExceptionRule
>();
public
List
<
ExceptionRule
>
getRules
()
{
return
rules
;
}
public
void
add
(){
}
public
void
update
(){
}
public
void
delete
(){
}
}
dog-home/src/main/java/com/dianping/dog/alarm/voilation/ViolationEvent.java
0 → 100644
浏览文件 @
85f783f7
package
com.dianping.dog.alarm.voilation
;
public
interface
ViolationEvent
{
}
dog-home/src/main/java/com/dianping/dog/event/DefaultEventListenerRegistry.java
浏览文件 @
85f783f7
...
...
@@ -6,7 +6,6 @@ import java.util.List;
import
java.util.Map
;
public
class
DefaultEventListenerRegistry
implements
EventListenerRegistry
,
EventListener
<
RuleEvent
>
{
private
Map
<
EventType
,
List
<
EventListener
<
Event
>>>
m_map
=
new
HashMap
<
EventType
,
List
<
EventListener
<
Event
>>>();
@Override
...
...
dog-home/src/main/java/com/dianping/dog/event/EventListener.java
浏览文件 @
85f783f7
package
com.dianping.dog.event
;
public
interface
EventListener
<
T
extends
Event
>
{
public
boolean
isEligible
(
T
event
);
public
void
onEvent
(
T
event
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录