提交 fe5e73b6 编写于 作者: W wangyapu

optimize code

上级 bf383aa0
......@@ -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)
### 项目设计
......
......@@ -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);
......
......@@ -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;
......
......@@ -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 channnel");
throw new RuntimeException("unsupported channel");
}
}
......
......@@ -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));
}
......
......@@ -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;
......
......@@ -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
......
......@@ -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 parseCorssTransaction(Transaction t, MessageTree tree) {
public CrossInfo parseCrossTransaction(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 = parseCorssTransaction(t, tree);
CrossInfo crossInfo = parseCrossTransaction(t, tree);
if (crossInfo != null && crossInfo.validate()) {
updateCrossReport(report, t, crossInfo);
......
......@@ -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);
}
}
......@@ -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);
}
}
......@@ -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;
}
}
......
......@@ -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;
}
protected void logStorageState(final MessageTree tree) {
private 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) {
......
......@@ -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));
}
......
......@@ -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);
}
}
......@@ -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
......
......@@ -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);
}
}
......@@ -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
......
......@@ -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
......
......@@ -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);
}
}
......@@ -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
......
......@@ -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);
}
}
......@@ -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);
}
}
......@@ -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);
}
}
......@@ -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);
}
}
......@@ -47,7 +47,7 @@ public class CrossInfoTest extends ComponentTestCase {
DefaultTransaction t = new DefaultTransaction("Other", "method1", null);
MessageTree tree = buildMockMessageTree();
CrossInfo info = analyzer.parseCorssTransaction(t, tree);
CrossInfo info = analyzer.parseCrossTransaction(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.parseCorssTransaction(t, tree);
CrossInfo info = analyzer.parseCrossTransaction(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.parseCorssTransaction(t, tree);
info = analyzer.parseCrossTransaction(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.parseCorssTransaction(t, tree);
CrossInfo info = analyzer.parseCrossTransaction(t, tree);
Assert.assertEquals(info.validate(), false);
......@@ -98,7 +98,7 @@ public class CrossInfoTest extends ComponentTestCase {
t.addChild(message);
t.addChild(messageApp);
info = analyzer.parseCorssTransaction(t, tree);
info = analyzer.parseCrossTransaction(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.parseCorssTransaction(t, tree);
CrossInfo info = analyzer.parseCrossTransaction(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.parseCorssTransaction(t, tree);
info = analyzer.parseCrossTransaction(t, tree);
Assert.assertEquals(info.getLocalAddress(), "192.168.0.1");
Assert.assertEquals(info.getRemoteAddress(), "192.168.7.71:29987");
......
......@@ -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;
}
}
......
......@@ -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;
}
}
......@@ -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();
......
......@@ -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();
......
......@@ -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.
先完成此消息的编辑!
想要评论请 注册