提交 b805b091 编写于 作者: Y youyong

modify the loacl mode thread

上级 9e3633af
......@@ -91,8 +91,8 @@ public class RealtimeConsumer extends ContainerHolder implements MessageConsumer
// ensure not output too much, and then run out of disk
if (now - m_lastTime > 1000L) {
m_lastTime = now;
m_logger.warn("The timestamp of message is out of range, IGNORED!"
+ sdf.format(new Date(tree.getMessage().getTimestamp())));
m_logger.warn("The timestamp of message is out of range, IGNORED! "
+ sdf.format(new Date(tree.getMessage().getTimestamp())) + " " + tree.getDomain());
}
}
}
......@@ -425,9 +425,10 @@ public class RealtimeConsumer extends ContainerHolder implements MessageConsumer
public boolean enqueue(MessageTree tree) {
boolean result = m_queue.offer(tree);
if (!result) { // trace queue overflow
m_queueOverflow++;
if (m_queueOverflow % 1000 == 0) {
if (m_queueOverflow == 1 || m_queueOverflow % 1000 == 0) {
m_logger.warn(m_analyzer.getClass().getSimpleName() + " queue overflow number " + m_queueOverflow);
}
}
......
......@@ -45,7 +45,7 @@ public class ComponentsConfigurator extends AbstractResourceConfigurator {
.req(FileSystemManager.class) //
.req(MessageCodec.class, PlainTextMessageCodec.ID));
all.add(C(MessageBucketManager.class, HdfsMessageBucketManager.ID, HdfsMessageBucketManager.class) //
.req(FileSystemManager.class) //
.req(FileSystemManager.class, ServerConfigManager.class) //
.req(MessagePathBuilder.class));
return all;
......
......@@ -14,6 +14,7 @@ import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
import com.dianping.cat.Cat;
import com.dianping.cat.configuration.ServerConfigManager;
import com.dianping.cat.message.Message;
import com.dianping.cat.message.MessageProducer;
import com.dianping.cat.message.Transaction;
......@@ -36,6 +37,9 @@ public class HdfsMessageBucketManager extends ContainerHolder implements Message
@Inject
private MessagePathBuilder m_pathBuilder;
@Inject
private ServerConfigManager m_serverConfigManager;
private Map<String, HdfsMessageBucket> m_buckets = new HashMap<String, HdfsMessageBucket>();
@Override
......@@ -58,7 +62,9 @@ public class HdfsMessageBucketManager extends ContainerHolder implements Message
@Override
public void initialize() throws InitializationException {
Threads.forGroup("Cat").start(new IdleChecker());
if (!m_serverConfigManager.isLocalMode()) {
Threads.forGroup("Cat").start(new IdleChecker());
}
}
@Override
......@@ -131,7 +137,7 @@ public class HdfsMessageBucketManager extends ContainerHolder implements Message
}
@Override
public void storeMessage(MessageTree tree,MessageId id) throws IOException {
public void storeMessage(MessageTree tree, MessageId id) throws IOException {
throw new UnsupportedOperationException("Not supported by HDFS!");
}
......
......@@ -72,6 +72,9 @@
<requirement>
<role>com.dianping.cat.hadoop.hdfs.FileSystemManager</role>
</requirement>
<requirement>
<role>com.dianping.cat.configuration.ServerConfigManager</role>
</requirement>
<requirement>
<role>com.dianping.cat.message.spi.MessagePathBuilder</role>
</requirement>
......
......@@ -65,7 +65,7 @@ public class CatHomeModule extends AbstractModule {
AlarmRuleCreator alarmCreatorTask = ctx.lookup(AlarmRuleCreator.class);
ScheduledMailTask scheduledTask = ctx.lookup(ScheduledMailTask.class);
if (serverConfigManager.isJobMachine()) {
if (serverConfigManager.isJobMachine() && !serverConfigManager.isLocalMode()) {
Threads.forGroup("Cat").start(exceptionAlarmTask);
Threads.forGroup("Cat").start(alarmCreatorTask);
Threads.forGroup("Cat").start(scheduledTask);
......
......@@ -142,7 +142,7 @@ public class ComponentsConfigurator extends AbstractResourceConfigurator {
all.add(C(ModuleManager.class, DefaultModuleManager.class) //
.config(E("topLevelModules").value(CatHomeModule.ID)));
all.add(C(DomainNavManager.class).req(ProjectDao.class));
all.add(C(DomainNavManager.class).req(ProjectDao.class,ServerConfigManager.class));
all.add(C(DailyReportService.class, DailyReportServiceImpl.class)//
.req(DailyreportDao.class));
......
......@@ -14,6 +14,7 @@ import com.dainping.cat.consumer.dal.report.Project;
import com.dainping.cat.consumer.dal.report.ProjectDao;
import com.dainping.cat.consumer.dal.report.ProjectEntity;
import com.dianping.cat.Cat;
import com.dianping.cat.configuration.ServerConfigManager;
import com.dianping.cat.helper.TimeUtil;
import com.site.dal.jdbc.DalException;
import com.site.helper.Threads;
......@@ -25,6 +26,9 @@ public class DomainNavManager implements Initializable {
@Inject
private ProjectDao m_projectDao;
@Inject
private ServerConfigManager m_serverConfigManager;
private static Map<String, Project> m_projects = new HashMap<String, Project>();
public static Project getProjectByName(String domain) {
......@@ -62,12 +66,14 @@ public class DomainNavManager implements Initializable {
@Override
public void initialize() throws InitializationException {
try {
DomainReload reload = new DomainReload();
if (!m_serverConfigManager.isLocalMode()) {
try {
DomainReload reload = new DomainReload();
Threads.forGroup("Cat").start(reload);
} catch (Exception e) {
Cat.logError(e);
Threads.forGroup("Cat").start(reload);
} catch (Exception e) {
Cat.logError(e);
}
}
}
......
......@@ -36,7 +36,7 @@ public class AlertManager implements Initializable {
@Override
public void initialize() throws InitializationException {
if (m_configManager.isJobMachine()) {
if (m_configManager.isJobMachine() && !m_configManager.isLocalMode()) {
SendAlarmTask sendAlarmTask = new SendAlarmTask();
Threads.forGroup("Cat").start(sendAlarmTask);
......
......@@ -122,12 +122,11 @@ public class ThresholdRuleManager implements Initializable {
@Override
public void initialize() throws InitializationException {
initalizeExceptionRule();
initalizeServiceRule();
if (m_configManager.isJobMachine() && !m_configManager.isLocalMode()) {
initalizeExceptionRule();
initalizeServiceRule();
ReloadThresholdRuleTask task = new ReloadThresholdRuleTask();
if (m_configManager.isJobMachine()) {
ReloadThresholdRuleTask task = new ReloadThresholdRuleTask();
Threads.forGroup("Cat").start(task);
}
}
......
......@@ -43,7 +43,7 @@ public class MailSMSImpl implements MailSMS, Initializable, LogEnabled {
@Override
public void initialize() throws InitializationException {
if (m_serverConfig.isJobMachine()) {
if (m_serverConfig.isJobMachine() && !m_serverConfig.isLocalMode()) {
try {
ApplicationContext ctx = new ClassPathXmlApplicationContext("spring/remoteService.xml");
......
......@@ -374,6 +374,9 @@
<requirement>
<role>com.dainping.cat.consumer.dal.report.ProjectDao</role>
</requirement>
<requirement>
<role>com.dianping.cat.configuration.ServerConfigManager</role>
</requirement>
</requirements>
</component>
<component>
......@@ -2529,6 +2532,9 @@
<requirement>
<role>com.dainping.cat.consumer.dal.report.ProjectDao</role>
</requirement>
<requirement>
<role>com.dianping.cat.configuration.ServerConfigManager</role>
</requirement>
</requirements>
</component>
<component>
......
......@@ -40,10 +40,10 @@ Welcome to <b>Central Application Tracking (CAT)</b>.
<table>
<tr class="even"><td>序号</td><td>常见问题</td><td>解答</td></tr>
<tr class="odd"><td>1</td><td>TestCase跑不起来</td><td>升级至CAT的0.4.0的版本,Pigeon版本至1.6.1</td></tr>
<tr class="even"><td>2</td><td>集成了CAT,但是在测试环境看不到信息</td><td>请check相关步骤<a href="http://wiki.dianpingoa.com/bin/view/SOA%E6%9E%B6%E6%9E%84/CAT%E9%9B%86%E6%88%90%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3" target="_blank">CAT集成帮助文档</a></td></tr>
<tr class="even"><td>2</td><td>集成了CAT,测试环境看不到信息</td><td>请Check相关步骤<a href="http://wiki.dianpingoa.com/bin/view/SOA%E6%9E%B6%E6%9E%84/CAT%E9%9B%86%E6%88%90%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3" target="_blank">CAT集成帮助文档</a></td></tr>
<tr class="odd"><td>3</td><td>Transaction、Event报表区间</<td><td>Transaction、Event历史报表,图表X轴以5分钟为刻度,Y轴表示每5分钟的值</td></tr>
<tr class="even"><td>4</td><td>Problem、Hearbeat报表区间</<td><td>Problem、Heartbeat历史报表,图表X轴以1分钟为刻度,Y轴表示每1分钟的值</td></tr>
<tr class="odd"><td>5</td><td>项目信息修改</<td><td style="color:red;">请到Project标签下,修改项目所在分组的基本信息</td></tr>
<tr class="odd"><td>5</td><td>项目信息修改</<td><td style="color:red;">项目负责人到Project标签下,修改项目所在分组的基本信息</td></tr>
</table>
<br>
<br>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册