Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦中观雨
cat
提交
70a86b5c
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,发现更多精彩内容 >>
提交
70a86b5c
编写于
7月 18, 2013
作者:
Y
yong.you
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refator thread info
上级
86279b65
变更
11
显示空白变更内容
内联
并排
Showing
11 changed file
with
202 addition
and
236 deletion
+202
-236
cat-client/src/main/java/com/dianping/cat/CatClientModule.java
...lient/src/main/java/com/dianping/cat/CatClientModule.java
+1
-1
cat-consumer/src/main/java/com/dianping/cat/consumer/top/TopAnalyzer.java
.../main/java/com/dianping/cat/consumer/top/TopAnalyzer.java
+1
-2
cat-hadoop/src/main/java/com/dianping/cat/hadoop/hdfs/DumpUploader.java
.../main/java/com/dianping/cat/hadoop/hdfs/DumpUploader.java
+121
-131
cat-home/src/main/java/com/dianping/cat/CatHomeModule.java
cat-home/src/main/java/com/dianping/cat/CatHomeModule.java
+12
-8
cat-home/src/main/java/com/dianping/cat/build/ComponentsConfigurator.java
...n/java/com/dianping/cat/build/ComponentsConfigurator.java
+5
-5
cat-home/src/main/java/com/dianping/cat/build/ReportServiceComponentConfigurator.java
...ianping/cat/build/ReportServiceComponentConfigurator.java
+3
-3
cat-home/src/main/java/com/dianping/cat/report/service/MonthlyReportCache.java
...a/com/dianping/cat/report/service/MonthlyReportCache.java
+1
-1
cat-home/src/main/java/com/dianping/cat/report/service/impl/ReportServiceImpl.java
...m/dianping/cat/report/service/impl/ReportServiceImpl.java
+2
-2
cat-home/src/main/java/com/dianping/cat/report/view/DomainNavManager.java
...n/java/com/dianping/cat/report/view/DomainNavManager.java
+33
-44
cat-home/src/main/java/com/dianping/cat/system/config/ConfigReloadTask.java
...java/com/dianping/cat/system/config/ConfigReloadTask.java
+20
-30
cat-home/src/main/resources/META-INF/plexus/components.xml
cat-home/src/main/resources/META-INF/plexus/components.xml
+3
-9
未找到文件。
cat-client/src/main/java/com/dianping/cat/CatClientModule.java
浏览文件 @
70a86b5c
...
@@ -35,7 +35,7 @@ public class CatClientModule extends AbstractModule {
...
@@ -35,7 +35,7 @@ public class CatClientModule extends AbstractModule {
ThreadRenamingRunnable
.
setThreadNameDeterminer
(
ThreadNameDeterminer
.
CURRENT
);
ThreadRenamingRunnable
.
setThreadNameDeterminer
(
ThreadNameDeterminer
.
CURRENT
);
// tracking thread start/stop
// tracking thread start/stop
//
Threads.addListener(new CatThreadListener(ctx));
Threads
.
addListener
(
new
CatThreadListener
(
ctx
));
File
clientConfigFile
=
ctx
.
getAttribute
(
"cat-client-config-file"
);
File
clientConfigFile
=
ctx
.
getAttribute
(
"cat-client-config-file"
);
ClientConfigManager
clientConfigManager
=
ctx
.
lookup
(
ClientConfigManager
.
class
);
ClientConfigManager
clientConfigManager
=
ctx
.
lookup
(
ClientConfigManager
.
class
);
...
...
cat-consumer/src/main/java/com/dianping/cat/consumer/top/TopAnalyzer.java
浏览文件 @
70a86b5c
...
@@ -75,7 +75,6 @@ public class TopAnalyzer extends AbstractMessageAnalyzer<TopReport> implements L
...
@@ -75,7 +75,6 @@ public class TopAnalyzer extends AbstractMessageAnalyzer<TopReport> implements L
new
ProblemReportVisitor
(
topReport
).
visitProblemReport
(
report
);
new
ProblemReportVisitor
(
topReport
).
visitProblemReport
(
report
);
}
}
}
}
return
topReport
;
return
topReport
;
}
}
...
@@ -93,7 +92,7 @@ public class TopAnalyzer extends AbstractMessageAnalyzer<TopReport> implements L
...
@@ -93,7 +92,7 @@ public class TopAnalyzer extends AbstractMessageAnalyzer<TopReport> implements L
}
}
private
boolean
validateDomain
(
String
domain
)
{
private
boolean
validateDomain
(
String
domain
)
{
return
!
domain
.
equals
(
"FrontEnd"
);
return
!
domain
.
equals
(
ReportConstants
.
FRONT_END
)
&&
!
domain
.
equals
(
ReportConstants
.
ALL
);
}
}
static
class
ProblemReportVisitor
extends
com
.
dianping
.
cat
.
consumer
.
problem
.
model
.
transform
.
BaseVisitor
{
static
class
ProblemReportVisitor
extends
com
.
dianping
.
cat
.
consumer
.
problem
.
model
.
transform
.
BaseVisitor
{
...
...
cat-hadoop/src/main/java/com/dianping/cat/hadoop/hdfs/DumpUploader.java
浏览文件 @
70a86b5c
...
@@ -22,7 +22,6 @@ import org.unidal.helper.Files.AutoClose;
...
@@ -22,7 +22,6 @@ import org.unidal.helper.Files.AutoClose;
import
org.unidal.helper.Formats
;
import
org.unidal.helper.Formats
;
import
org.unidal.helper.Scanners
;
import
org.unidal.helper.Scanners
;
import
org.unidal.helper.Scanners.FileMatcher
;
import
org.unidal.helper.Scanners.FileMatcher
;
import
org.unidal.helper.Threads
;
import
org.unidal.helper.Threads.Task
;
import
org.unidal.helper.Threads.Task
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Inject
;
...
@@ -33,7 +32,7 @@ import com.dianping.cat.message.Message;
...
@@ -33,7 +32,7 @@ import com.dianping.cat.message.Message;
import
com.dianping.cat.message.MessageProducer
;
import
com.dianping.cat.message.MessageProducer
;
import
com.dianping.cat.message.Transaction
;
import
com.dianping.cat.message.Transaction
;
public
class
DumpUploader
implements
Initializable
,
LogEnabled
{
public
class
DumpUploader
implements
Initializable
,
Task
,
LogEnabled
{
@Inject
@Inject
private
ServerConfigManager
m_configManager
;
private
ServerConfigManager
m_configManager
;
...
@@ -44,22 +43,28 @@ public class DumpUploader implements Initializable, LogEnabled {
...
@@ -44,22 +43,28 @@ public class DumpUploader implements Initializable, LogEnabled {
private
Logger
m_logger
;
private
Logger
m_logger
;
private
Thread
m_job
;
private
long
m_sleepPeriod
=
1000L
*
60
;
private
long
m_sleepPeriod
=
1000L
*
60
;
private
volatile
boolean
m_active
=
true
;
@Override
@Override
public
void
enableLogging
(
Logger
logger
)
{
public
void
enableLogging
(
Logger
logger
)
{
m_logger
=
logger
;
m_logger
=
logger
;
}
}
@Override
public
String
getName
()
{
return
"DumpUploader"
;
}
@Override
@Override
public
void
initialize
()
throws
InitializationException
{
public
void
initialize
()
throws
InitializationException
{
m_baseDir
=
m_configManager
.
getHdfsLocalBaseDir
(
"dump"
);
m_baseDir
=
m_configManager
.
getHdfsLocalBaseDir
(
"dump"
);
if
(!
m_configManager
.
isLocalMode
())
{
if
(
m_job
==
null
)
{
m_job
=
Threads
.
forGroup
(
"Cat"
).
start
(
new
WriteJob
());
}
}
private
boolean
isActive
()
{
synchronized
(
this
)
{
return
m_active
;
}
}
}
}
...
@@ -72,24 +77,6 @@ public class DumpUploader implements Initializable, LogEnabled {
...
@@ -72,24 +77,6 @@ public class DumpUploader implements Initializable, LogEnabled {
return
out
;
return
out
;
}
}
public
void
setSleepPeriod
(
long
period
)
{
m_sleepPeriod
=
period
;
}
class
WriteJob
implements
Task
{
private
volatile
boolean
m_active
=
true
;
@Override
public
String
getName
()
{
return
"DumpUploader"
;
}
private
boolean
isActive
()
{
synchronized
(
this
)
{
return
m_active
;
}
}
@Override
@Override
public
void
run
()
{
public
void
run
()
{
while
(
isActive
())
{
while
(
isActive
())
{
...
@@ -112,6 +99,10 @@ public class DumpUploader implements Initializable, LogEnabled {
...
@@ -112,6 +99,10 @@ public class DumpUploader implements Initializable, LogEnabled {
}
}
}
}
public
void
setSleepPeriod
(
long
period
)
{
m_sleepPeriod
=
period
;
}
@Override
@Override
public
void
shutdown
()
{
public
void
shutdown
()
{
synchronized
(
this
)
{
synchronized
(
this
)
{
...
@@ -232,5 +223,4 @@ public class DumpUploader implements Initializable, LogEnabled {
...
@@ -232,5 +223,4 @@ public class DumpUploader implements Initializable, LogEnabled {
}
}
}
}
}
}
}
}
}
cat-home/src/main/java/com/dianping/cat/CatHomeModule.java
浏览文件 @
70a86b5c
...
@@ -9,7 +9,6 @@ import org.unidal.initialization.ModuleContext;
...
@@ -9,7 +9,6 @@ import org.unidal.initialization.ModuleContext;
import
com.dianping.cat.consumer.CatConsumerAdvancedModule
;
import
com.dianping.cat.consumer.CatConsumerAdvancedModule
;
import
com.dianping.cat.consumer.CatConsumerModule
;
import
com.dianping.cat.consumer.CatConsumerModule
;
import
com.dianping.cat.consumer.problem.aggregation.AggregationConfigManager
;
import
com.dianping.cat.hadoop.hdfs.DumpUploader
;
import
com.dianping.cat.hadoop.hdfs.DumpUploader
;
import
com.dianping.cat.message.spi.core.MessageConsumer
;
import
com.dianping.cat.message.spi.core.MessageConsumer
;
import
com.dianping.cat.message.spi.core.TcpSocketReceiver
;
import
com.dianping.cat.message.spi.core.TcpSocketReceiver
;
...
@@ -21,6 +20,7 @@ import com.dianping.cat.system.alarm.AlarmTask;
...
@@ -21,6 +20,7 @@ import com.dianping.cat.system.alarm.AlarmTask;
import
com.dianping.cat.system.alarm.threshold.listener.ExceptionDataListener
;
import
com.dianping.cat.system.alarm.threshold.listener.ExceptionDataListener
;
import
com.dianping.cat.system.alarm.threshold.listener.ServiceDataListener
;
import
com.dianping.cat.system.alarm.threshold.listener.ServiceDataListener
;
import
com.dianping.cat.system.alarm.threshold.listener.ThresholdAlertListener
;
import
com.dianping.cat.system.alarm.threshold.listener.ThresholdAlertListener
;
import
com.dianping.cat.system.config.ConfigReloadTask
;
import
com.dianping.cat.system.event.EventListenerRegistry
;
import
com.dianping.cat.system.event.EventListenerRegistry
;
import
com.dianping.cat.system.notify.ScheduledMailTask
;
import
com.dianping.cat.system.notify.ScheduledMailTask
;
...
@@ -30,26 +30,30 @@ public class CatHomeModule extends AbstractModule {
...
@@ -30,26 +30,30 @@ public class CatHomeModule extends AbstractModule {
@Override
@Override
protected
void
execute
(
ModuleContext
ctx
)
throws
Exception
{
protected
void
execute
(
ModuleContext
ctx
)
throws
Exception
{
ServerConfigManager
serverConfigManager
=
ctx
.
lookup
(
ServerConfigManager
.
class
);
ServerConfigManager
serverConfigManager
=
ctx
.
lookup
(
ServerConfigManager
.
class
);
ctx
.
lookup
(
DumpUploader
.
class
);
ctx
.
lookup
(
MessageConsumer
.
class
);
ctx
.
lookup
(
MessageConsumer
.
class
);
ctx
.
lookup
(
DomainNavManager
.
class
);
if
(!
serverConfigManager
.
isLocalMode
())
{
ctx
.
lookup
(
AggregationConfigManager
.
class
);
ConfigReloadTask
configReloadTask
=
ctx
.
lookup
(
ConfigReloadTask
.
class
);
DumpUploader
uploader
=
ctx
.
lookup
(
DumpUploader
.
class
);
Threads
.
forGroup
(
"Cat"
).
start
(
configReloadTask
);
Threads
.
forGroup
(
"Cat"
).
start
(
uploader
);
}
if
(
serverConfigManager
.
isJobMachine
()
&&
!
serverConfigManager
.
isLocalMode
())
{
if
(
serverConfigManager
.
isJobMachine
()
&&
!
serverConfigManager
.
isLocalMode
())
{
// MetricAlert metricAlert = ctx.lookup(MetricAlert.class);
// Threads.forGroup("Cat").start(metricAlert);
DefaultTaskConsumer
taskConsumer
=
ctx
.
lookup
(
DefaultTaskConsumer
.
class
);
DefaultTaskConsumer
taskConsumer
=
ctx
.
lookup
(
DefaultTaskConsumer
.
class
);
MetricAlert
metricAlert
=
ctx
.
lookup
(
MetricAlert
.
class
);
MetricAlert
metricAlert
=
ctx
.
lookup
(
MetricAlert
.
class
);
DomainNavManager
domainNavManager
=
ctx
.
lookup
(
DomainNavManager
.
class
);
Threads
.
forGroup
(
"Cat"
).
start
(
domainNavManager
);
Threads
.
forGroup
(
"Cat"
).
start
(
metricAlert
);
Threads
.
forGroup
(
"Cat"
).
start
(
metricAlert
);
Threads
.
forGroup
(
"Cat"
).
start
(
taskConsumer
);
Threads
.
forGroup
(
"Cat"
).
start
(
taskConsumer
);
}
}
executeAlarmModule
(
ctx
);
executeAlarmModule
(
ctx
);
}
}
private
void
executeAlarmModule
(
ModuleContext
ctx
)
throws
Exception
{
private
void
executeAlarmModule
(
ModuleContext
ctx
)
throws
Exception
{
ServerConfigManager
serverConfigManager
=
ctx
.
lookup
(
ServerConfigManager
.
class
);
ServerConfigManager
serverConfigManager
=
ctx
.
lookup
(
ServerConfigManager
.
class
);
EventListenerRegistry
registry
=
ctx
.
lookup
(
EventListenerRegistry
.
class
);
EventListenerRegistry
registry
=
ctx
.
lookup
(
EventListenerRegistry
.
class
);
ExceptionDataListener
exceptionDataListener
=
ctx
.
lookup
(
ExceptionDataListener
.
class
);
ExceptionDataListener
exceptionDataListener
=
ctx
.
lookup
(
ExceptionDataListener
.
class
);
ServiceDataListener
serviceDataListener
=
ctx
.
lookup
(
ServiceDataListener
.
class
);
ServiceDataListener
serviceDataListener
=
ctx
.
lookup
(
ServiceDataListener
.
class
);
...
...
cat-home/src/main/java/com/dianping/cat/build/ComponentsConfigurator.java
浏览文件 @
70a86b5c
...
@@ -55,7 +55,7 @@ public class ComponentsConfigurator extends AbstractResourceConfigurator {
...
@@ -55,7 +55,7 @@ public class ComponentsConfigurator extends AbstractResourceConfigurator {
all
.
add
(
C
(
Module
.
class
,
CatHomeModule
.
ID
,
CatHomeModule
.
class
));
all
.
add
(
C
(
Module
.
class
,
CatHomeModule
.
ID
,
CatHomeModule
.
class
));
all
.
add
(
C
(
ModuleManager
.
class
,
DefaultModuleManager
.
class
)
//
all
.
add
(
C
(
ModuleManager
.
class
,
DefaultModuleManager
.
class
)
//
.
config
(
E
(
"topLevelModules"
).
value
(
CatHomeModule
.
ID
)));
.
config
(
E
(
"topLevelModules"
).
value
(
CatHomeModule
.
ID
)));
all
.
add
(
C
(
DomainNavManager
.
class
).
req
(
ProjectDao
.
class
,
ServerConfigManager
.
class
));
all
.
add
(
C
(
DomainNavManager
.
class
).
req
(
ProjectDao
.
class
));
all
.
add
(
C
(
EventCollectManager
.
class
).
req
(
EventDao
.
class
,
ServerConfigManager
.
class
));
all
.
add
(
C
(
EventCollectManager
.
class
).
req
(
EventDao
.
class
,
ServerConfigManager
.
class
));
...
...
cat-home/src/main/java/com/dianping/cat/build/ReportServiceComponentConfigurator.java
浏览文件 @
70a86b5c
...
@@ -14,7 +14,7 @@ import com.dianping.cat.core.dal.MonthlyReportDao;
...
@@ -14,7 +14,7 @@ import com.dianping.cat.core.dal.MonthlyReportDao;
import
com.dianping.cat.core.dal.WeeklyReportDao
;
import
com.dianping.cat.core.dal.WeeklyReportDao
;
import
com.dianping.cat.report.service.DailyReportService
;
import
com.dianping.cat.report.service.DailyReportService
;
import
com.dianping.cat.report.service.HourlyReportService
;
import
com.dianping.cat.report.service.HourlyReportService
;
import
com.dianping.cat.report.service.MonthReportCache
;
import
com.dianping.cat.report.service.Month
ly
ReportCache
;
import
com.dianping.cat.report.service.MonthlyReportService
;
import
com.dianping.cat.report.service.MonthlyReportService
;
import
com.dianping.cat.report.service.ReportService
;
import
com.dianping.cat.report.service.ReportService
;
import
com.dianping.cat.report.service.WeeklyReportCache
;
import
com.dianping.cat.report.service.WeeklyReportCache
;
...
@@ -45,13 +45,13 @@ public class ReportServiceComponentConfigurator extends AbstractResourceConfigur
...
@@ -45,13 +45,13 @@ public class ReportServiceComponentConfigurator extends AbstractResourceConfigur
all
.
add
(
C
(
WeeklyReportCache
.
class
)
//
all
.
add
(
C
(
WeeklyReportCache
.
class
)
//
.
req
(
DailyReportService
.
class
,
HourlyReportService
.
class
,
ServerConfigManager
.
class
));
.
req
(
DailyReportService
.
class
,
HourlyReportService
.
class
,
ServerConfigManager
.
class
));
all
.
add
(
C
(
MonthReportCache
.
class
)
//
all
.
add
(
C
(
Month
ly
ReportCache
.
class
)
//
.
req
(
DailyReportService
.
class
,
HourlyReportService
.
class
,
ServerConfigManager
.
class
));
.
req
(
DailyReportService
.
class
,
HourlyReportService
.
class
,
ServerConfigManager
.
class
));
all
.
add
(
C
(
ReportService
.
class
,
ReportServiceImpl
.
class
)
//
all
.
add
(
C
(
ReportService
.
class
,
ReportServiceImpl
.
class
)
//
.
req
(
HourlyReportService
.
class
,
DailyReportService
.
class
,
WeeklyReportService
.
class
,
.
req
(
HourlyReportService
.
class
,
DailyReportService
.
class
,
WeeklyReportService
.
class
,
MonthlyReportService
.
class
)
//
MonthlyReportService
.
class
)
//
.
req
(
WeeklyReportCache
.
class
,
MonthReportCache
.
class
));
.
req
(
WeeklyReportCache
.
class
,
Month
ly
ReportCache
.
class
));
return
all
;
return
all
;
...
...
cat-home/src/main/java/com/dianping/cat/report/service/MonthReportCache.java
→
cat-home/src/main/java/com/dianping/cat/report/service/Month
ly
ReportCache.java
浏览文件 @
70a86b5c
...
@@ -26,7 +26,7 @@ import com.dianping.cat.consumer.transaction.model.entity.TransactionReport;
...
@@ -26,7 +26,7 @@ import com.dianping.cat.consumer.transaction.model.entity.TransactionReport;
import
com.dianping.cat.helper.TimeUtil
;
import
com.dianping.cat.helper.TimeUtil
;
import
com.dianping.cat.message.Transaction
;
import
com.dianping.cat.message.Transaction
;
public
class
MonthReportCache
implements
Initializable
{
public
class
Month
ly
ReportCache
implements
Initializable
{
private
long
m_end
;
private
long
m_end
;
...
...
cat-home/src/main/java/com/dianping/cat/report/service/impl/ReportServiceImpl.java
浏览文件 @
70a86b5c
...
@@ -23,7 +23,7 @@ import com.dianping.cat.core.dal.WeeklyReport;
...
@@ -23,7 +23,7 @@ import com.dianping.cat.core.dal.WeeklyReport;
import
com.dianping.cat.helper.TimeUtil
;
import
com.dianping.cat.helper.TimeUtil
;
import
com.dianping.cat.report.service.DailyReportService
;
import
com.dianping.cat.report.service.DailyReportService
;
import
com.dianping.cat.report.service.HourlyReportService
;
import
com.dianping.cat.report.service.HourlyReportService
;
import
com.dianping.cat.report.service.MonthReportCache
;
import
com.dianping.cat.report.service.Month
ly
ReportCache
;
import
com.dianping.cat.report.service.MonthlyReportService
;
import
com.dianping.cat.report.service.MonthlyReportService
;
import
com.dianping.cat.report.service.ReportService
;
import
com.dianping.cat.report.service.ReportService
;
import
com.dianping.cat.report.service.WeeklyReportCache
;
import
com.dianping.cat.report.service.WeeklyReportCache
;
...
@@ -46,7 +46,7 @@ public class ReportServiceImpl implements ReportService {
...
@@ -46,7 +46,7 @@ public class ReportServiceImpl implements ReportService {
private
WeeklyReportCache
m_weeklyReportCache
;
private
WeeklyReportCache
m_weeklyReportCache
;
@Inject
@Inject
private
MonthReportCache
m_monthReportCache
;
private
Month
ly
ReportCache
m_monthReportCache
;
public
static
final
int
s_hourly
=
1
;
public
static
final
int
s_hourly
=
1
;
...
...
cat-home/src/main/java/com/dianping/cat/report/view/DomainNavManager.java
浏览文件 @
70a86b5c
...
@@ -11,34 +11,25 @@ import java.util.concurrent.ConcurrentHashMap;
...
@@ -11,34 +11,25 @@ import java.util.concurrent.ConcurrentHashMap;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
;
import
org.unidal.dal.jdbc.DalException
;
import
org.unidal.dal.jdbc.DalException
;
import
org.unidal.helper.Threads
;
import
org.unidal.helper.Threads.Task
;
import
org.unidal.helper.Threads.Task
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Inject
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.ServerConfigManager
;
import
com.dianping.cat.core.dal.Project
;
import
com.dianping.cat.core.dal.Project
;
import
com.dianping.cat.core.dal.ProjectDao
;
import
com.dianping.cat.core.dal.ProjectDao
;
import
com.dianping.cat.core.dal.ProjectEntity
;
import
com.dianping.cat.core.dal.ProjectEntity
;
import
com.dianping.cat.helper.TimeUtil
;
import
com.dianping.cat.helper.TimeUtil
;
public
class
DomainNavManager
implements
Initializable
{
public
class
DomainNavManager
implements
Task
,
Initializable
{
@Inject
@Inject
private
ProjectDao
m_projectDao
;
private
ProjectDao
m_projectDao
;
@Inject
private
ServerConfigManager
m_serverConfigManager
;
// key is domain
// key is domain
private
Map
<
String
,
Project
>
m_projects
=
new
ConcurrentHashMap
<
String
,
Project
>();
private
Map
<
String
,
Project
>
m_projects
=
new
ConcurrentHashMap
<
String
,
Project
>();
public
static
final
String
DEFAULT
=
"Default"
;
public
static
final
String
DEFAULT
=
"Default"
;
public
Collection
<
String
>
getDomains
()
{
return
m_projects
.
keySet
();
}
public
Map
<
String
,
Department
>
getDepartment
(
Collection
<
String
>
domains
)
{
public
Map
<
String
,
Department
>
getDepartment
(
Collection
<
String
>
domains
)
{
Map
<
String
,
Department
>
result
=
new
TreeMap
<
String
,
Department
>();
Map
<
String
,
Department
>
result
=
new
TreeMap
<
String
,
Department
>();
...
@@ -65,6 +56,15 @@ public class DomainNavManager implements Initializable {
...
@@ -65,6 +56,15 @@ public class DomainNavManager implements Initializable {
return
result
;
return
result
;
}
}
public
Collection
<
String
>
getDomains
()
{
return
m_projects
.
keySet
();
}
@Override
public
String
getName
()
{
return
"Domain-Info-Reload"
;
}
public
Project
getProjectByName
(
String
domain
)
{
public
Project
getProjectByName
(
String
domain
)
{
synchronized
(
m_projects
)
{
synchronized
(
m_projects
)
{
return
m_projects
.
get
(
domain
);
return
m_projects
.
get
(
domain
);
...
@@ -80,9 +80,6 @@ public class DomainNavManager implements Initializable {
...
@@ -80,9 +80,6 @@ public class DomainNavManager implements Initializable {
@Override
@Override
public
void
initialize
()
throws
InitializationException
{
public
void
initialize
()
throws
InitializationException
{
reloadDomainInfo
();
reloadDomainInfo
();
if
(!
m_serverConfigManager
.
isLocalMode
()&&
m_serverConfigManager
.
isJobMachine
())
{
Threads
.
forGroup
(
"Cat"
).
start
(
new
DomainReload
());
}
}
}
public
void
reloadDomainInfo
()
{
public
void
reloadDomainInfo
()
{
...
@@ -101,6 +98,28 @@ public class DomainNavManager implements Initializable {
...
@@ -101,6 +98,28 @@ public class DomainNavManager implements Initializable {
}
}
}
}
@Override
public
void
run
()
{
boolean
active
=
true
;
while
(
active
)
{
try
{
reloadDomainInfo
();
}
catch
(
Exception
e
)
{
Cat
.
logError
(
e
);
}
try
{
Thread
.
sleep
(
3
*
TimeUtil
.
ONE_MINUTE
);
}
catch
(
InterruptedException
e
)
{
active
=
false
;
}
}
}
@Override
public
void
shutdown
()
{
}
public
static
class
Department
{
public
static
class
Department
{
private
Map
<
String
,
ProjectLine
>
m_projectLines
=
new
HashMap
<
String
,
ProjectLine
>();
private
Map
<
String
,
ProjectLine
>
m_projectLines
=
new
HashMap
<
String
,
ProjectLine
>();
...
@@ -129,36 +148,6 @@ public class DomainNavManager implements Initializable {
...
@@ -129,36 +148,6 @@ public class DomainNavManager implements Initializable {
}
}
}
}
public
class
DomainReload
implements
Task
{
@Override
public
String
getName
()
{
return
"Domain-Info-Reload"
;
}
@Override
public
void
run
()
{
boolean
active
=
true
;
while
(
active
)
{
try
{
reloadDomainInfo
();
}
catch
(
Exception
e
)
{
Cat
.
logError
(
e
);
}
try
{
Thread
.
sleep
(
3
*
TimeUtil
.
ONE_MINUTE
);
}
catch
(
InterruptedException
e
)
{
active
=
false
;
}
}
}
@Override
public
void
shutdown
()
{
}
}
public
static
class
ProjectLine
{
public
static
class
ProjectLine
{
private
List
<
String
>
m_lineDomains
=
new
ArrayList
<
String
>();
private
List
<
String
>
m_lineDomains
=
new
ArrayList
<
String
>();
...
...
cat-home/src/main/java/com/dianping/cat/system/config/ConfigReloadTask.java
浏览文件 @
70a86b5c
package
com.dianping.cat.system.config
;
package
com.dianping.cat.system.config
;
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.helper.Threads.Task
;
import
org.unidal.lookup.annotation.Inject
;
import
org.unidal.lookup.annotation.Inject
;
...
@@ -10,7 +7,7 @@ import com.dianping.cat.Cat;
...
@@ -10,7 +7,7 @@ import com.dianping.cat.Cat;
import
com.dianping.cat.consumer.advanced.MetricConfigManager
;
import
com.dianping.cat.consumer.advanced.MetricConfigManager
;
import
com.dianping.cat.consumer.advanced.ProductLineConfigManager
;
import
com.dianping.cat.consumer.advanced.ProductLineConfigManager
;
public
class
ConfigReloadTask
implements
Initializable
{
public
class
ConfigReloadTask
implements
Task
{
@Inject
@Inject
private
ProductLineConfigManager
m_productLineConfigManager
;
private
ProductLineConfigManager
m_productLineConfigManager
;
...
@@ -18,12 +15,6 @@ public class ConfigReloadTask implements Initializable {
...
@@ -18,12 +15,6 @@ public class ConfigReloadTask implements Initializable {
@Inject
@Inject
private
MetricConfigManager
m_metricConfigManager
;
private
MetricConfigManager
m_metricConfigManager
;
@Override
public
void
initialize
()
throws
InitializationException
{
Threads
.
forGroup
(
"Cat"
).
start
(
new
Reload
());
}
public
class
Reload
implements
Task
{
@Override
@Override
public
String
getName
()
{
public
String
getName
()
{
return
"Config-Reload"
;
return
"Config-Reload"
;
...
@@ -50,6 +41,5 @@ public class ConfigReloadTask implements Initializable {
...
@@ -50,6 +41,5 @@ public class ConfigReloadTask implements Initializable {
@Override
@Override
public
void
shutdown
()
{
public
void
shutdown
()
{
}
}
}
}
}
cat-home/src/main/resources/META-INF/plexus/components.xml
浏览文件 @
70a86b5c
...
@@ -50,9 +50,6 @@
...
@@ -50,9 +50,6 @@
<requirement>
<requirement>
<role>
com.dianping.cat.core.dal.ProjectDao
</role>
<role>
com.dianping.cat.core.dal.ProjectDao
</role>
</requirement>
</requirement>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
</requirements>
</requirements>
</component>
</component>
<component>
<component>
...
@@ -187,8 +184,8 @@
...
@@ -187,8 +184,8 @@
</requirements>
</requirements>
</component>
</component>
<component>
<component>
<role>
com.dianping.cat.report.service.MonthReportCache
</role>
<role>
com.dianping.cat.report.service.Month
ly
ReportCache
</role>
<implementation>
com.dianping.cat.report.service.MonthReportCache
</implementation>
<implementation>
com.dianping.cat.report.service.Month
ly
ReportCache
</implementation>
<requirements>
<requirements>
<requirement>
<requirement>
<role>
com.dianping.cat.report.service.DailyReportService
</role>
<role>
com.dianping.cat.report.service.DailyReportService
</role>
...
@@ -221,7 +218,7 @@
...
@@ -221,7 +218,7 @@
<role>
com.dianping.cat.report.service.WeeklyReportCache
</role>
<role>
com.dianping.cat.report.service.WeeklyReportCache
</role>
</requirement>
</requirement>
<requirement>
<requirement>
<role>
com.dianping.cat.report.service.MonthReportCache
</role>
<role>
com.dianping.cat.report.service.Month
ly
ReportCache
</role>
</requirement>
</requirement>
</requirements>
</requirements>
</component>
</component>
...
@@ -2358,9 +2355,6 @@
...
@@ -2358,9 +2355,6 @@
<requirement>
<requirement>
<role>
com.dianping.cat.core.dal.ProjectDao
</role>
<role>
com.dianping.cat.core.dal.ProjectDao
</role>
</requirement>
</requirement>
<requirement>
<role>
com.dianping.cat.ServerConfigManager
</role>
</requirement>
</requirements>
</requirements>
</component>
</component>
<component>
<component>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录