提交 49b1fb81 编写于 作者: S sunryuan

refactor

上级 eae51786
...@@ -33,6 +33,7 @@ import com.dianping.cat.report.task.heartbeat.HeartbeatReportBuilder; ...@@ -33,6 +33,7 @@ import com.dianping.cat.report.task.heartbeat.HeartbeatReportBuilder;
import com.dianping.cat.report.task.matrix.MatrixReportBuilder; import com.dianping.cat.report.task.matrix.MatrixReportBuilder;
import com.dianping.cat.report.task.metric.MetricAlert; import com.dianping.cat.report.task.metric.MetricAlert;
import com.dianping.cat.report.task.metric.MetricBaselineReportBuilder; import com.dianping.cat.report.task.metric.MetricBaselineReportBuilder;
import com.dianping.cat.report.task.metric.MetricPointParser;
import com.dianping.cat.report.task.problem.ProblemGraphCreator; import com.dianping.cat.report.task.problem.ProblemGraphCreator;
import com.dianping.cat.report.task.problem.ProblemMerger; import com.dianping.cat.report.task.problem.ProblemMerger;
import com.dianping.cat.report.task.problem.ProblemReportBuilder; import com.dianping.cat.report.task.problem.ProblemReportBuilder;
...@@ -44,7 +45,6 @@ import com.dianping.cat.report.task.transaction.TransactionGraphCreator; ...@@ -44,7 +45,6 @@ import com.dianping.cat.report.task.transaction.TransactionGraphCreator;
import com.dianping.cat.report.task.transaction.TransactionMerger; import com.dianping.cat.report.task.transaction.TransactionMerger;
import com.dianping.cat.report.task.transaction.TransactionReportBuilder; import com.dianping.cat.report.task.transaction.TransactionReportBuilder;
public class TaskComponentConfigurator extends AbstractResourceConfigurator { public class TaskComponentConfigurator extends AbstractResourceConfigurator {
@Override @Override
public List<Component> defineComponents() { public List<Component> defineComponents() {
...@@ -62,21 +62,19 @@ public class TaskComponentConfigurator extends AbstractResourceConfigurator { ...@@ -62,21 +62,19 @@ public class TaskComponentConfigurator extends AbstractResourceConfigurator {
all.add(C(EventMerger.class)); all.add(C(EventMerger.class));
all.add(C(ProblemMerger.class)); all.add(C(ProblemMerger.class));
all.add(C(SqlMerger.class)); all.add(C(SqlMerger.class));
all.add(C(BaselineCreator.class,DefaultBaselineCreator.class)); all.add(C(MetricPointParser.class));
all.add(C(BaselineService.class,DefaultBaselineService.class) all.add(C(BaselineCreator.class, DefaultBaselineCreator.class));
.req(BaselineDao.class)); all.add(C(BaselineService.class, DefaultBaselineService.class).req(BaselineDao.class));
all.add(C(BaselineConfigManager.class,BaselineConfigManager.class)); all.add(C(BaselineConfigManager.class, BaselineConfigManager.class));
all.add(C(MetricBaselineReportBuilder.class) all.add(C(MetricBaselineReportBuilder.class).req(ReportService.class, MetricPointParser.class)//
.req(ReportService.class)// .req(MetricConfigManager.class, ProductLineConfigManager.class)//
.req(MetricConfigManager.class,ProductLineConfigManager.class)// .req(BaselineCreator.class, BaselineService.class, BaselineConfigManager.class));
.req(BaselineCreator.class,BaselineService.class,BaselineConfigManager.class));
all.add(C(MetricAlert.class).req(ReportService.class, ServerConfigManager.class, MetricPointParser.class)//
all.add(C(MetricAlert.class) .req(MetricConfigManager.class, ProductLineConfigManager.class)//
.req(ReportService.class,ServerConfigManager.class)// .req(BaselineService.class, BaselineConfigManager.class)//
.req(MetricConfigManager.class,ProductLineConfigManager.class)//
.req(BaselineService.class,BaselineConfigManager.class)
.req(ModelService.class, "metric")); .req(ModelService.class, "metric"));
all.add(C(TransactionReportBuilder.class) // all.add(C(TransactionReportBuilder.class) //
...@@ -109,9 +107,12 @@ public class TaskComponentConfigurator extends AbstractResourceConfigurator { ...@@ -109,9 +107,12 @@ public class TaskComponentConfigurator extends AbstractResourceConfigurator {
TopologyGraphDao.class)); TopologyGraphDao.class));
all.add(C(ReportFacade.class)// all.add(C(ReportFacade.class)//
.req(TransactionReportBuilder.class, EventReportBuilder.class, ProblemReportBuilder.class // .req(TransactionReportBuilder.class, EventReportBuilder.class,
,HeartbeatReportBuilder.class, MatrixReportBuilder.class, CrossReportBuilder.class // ProblemReportBuilder.class //
,SqlReportBuilder.class,StateReportBuilder.class, DependencyReportBuilder.class,MetricBaselineReportBuilder.class)); , HeartbeatReportBuilder.class, MatrixReportBuilder.class,
CrossReportBuilder.class //
, SqlReportBuilder.class, StateReportBuilder.class, DependencyReportBuilder.class,
MetricBaselineReportBuilder.class));
return all; return all;
} }
......
...@@ -6,6 +6,8 @@ import java.io.DataInputStream; ...@@ -6,6 +6,8 @@ import java.io.DataInputStream;
import java.io.DataOutputStream; import java.io.DataOutputStream;
import java.io.IOException; import java.io.IOException;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import org.unidal.dal.jdbc.DalException; import org.unidal.dal.jdbc.DalException;
import org.unidal.lookup.annotation.Inject; import org.unidal.lookup.annotation.Inject;
...@@ -23,16 +25,43 @@ public class DefaultBaselineService implements BaselineService { ...@@ -23,16 +25,43 @@ public class DefaultBaselineService implements BaselineService {
@Inject @Inject
private BaselineDao m_baselineDao; private BaselineDao m_baselineDao;
private Map<String, Map<String, Baseline>> m_baselineMap = new HashMap<String, Map<String, Baseline>>();
@Override @Override
public double[] queryDailyBaseline(String reportName, String key, Date reportPeriod) throws DalException, public double[] queryDailyBaseline(String reportName, String key, Date reportPeriod) throws DalException,
IOException { IOException {
double[] result = new double[24 * 60]; double[] result = new double[24 * 60];
Baseline baseline = m_baselineDao.findByReportNameKeyTime(reportPeriod, reportName, key, Baseline baseline = queryFromMap(reportName, key, reportPeriod);
BaselineEntity.READSET_FULL); if (baseline == null) {
baseline = m_baselineDao.findByReportNameKeyTime(reportPeriod, reportName, key, BaselineEntity.READSET_FULL);
addBaselineToMap(m_baselineMap, baseline, reportName, key);
}
result = parse(baseline.getData()); result = parse(baseline.getData());
return result; return result;
} }
private void addBaselineToMap(Map<String, Map<String, Baseline>> allBaselineMap, Baseline baseline,
String reportName, String key) {
Map<String, Baseline> baselineMap = m_baselineMap.get(reportName);
if (baselineMap == null) {
baselineMap = new HashMap<String, Baseline>();
m_baselineMap.put(reportName, baselineMap);
}
baselineMap.put(key, baseline);
}
private Baseline queryFromMap(String reportName, String key, Date reportPeriod) {
Map<String, Baseline> baselineMap = m_baselineMap.get(reportName);
if (baselineMap == null) {
return null;
}
Baseline result = baselineMap.get(key);
if (result != null && result.getReportPeriod().equals(reportPeriod)) {
return result;
}
return null;
}
@Override @Override
public double[] queryHourlyBaseline(String reportName, String key, Date reportPeriod) throws DalException, public double[] queryHourlyBaseline(String reportName, String key, Date reportPeriod) throws DalException,
IOException { IOException {
......
...@@ -26,7 +26,6 @@ import com.dianping.cat.report.baseline.BaselineConfigManager; ...@@ -26,7 +26,6 @@ import com.dianping.cat.report.baseline.BaselineConfigManager;
import com.dianping.cat.report.baseline.BaselineService; import com.dianping.cat.report.baseline.BaselineService;
import com.dianping.cat.report.page.model.spi.ModelService; import com.dianping.cat.report.page.model.spi.ModelService;
import com.dianping.cat.report.service.ReportService; import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.task.TaskHelper;
import com.dianping.cat.service.ModelPeriod; import com.dianping.cat.service.ModelPeriod;
import com.dianping.cat.service.ModelRequest; import com.dianping.cat.service.ModelRequest;
import com.dianping.cat.service.ModelResponse; import com.dianping.cat.service.ModelResponse;
...@@ -53,9 +52,14 @@ public class MetricAlert implements Task, LogEnabled { ...@@ -53,9 +52,14 @@ public class MetricAlert implements Task, LogEnabled {
@Inject(type = ModelService.class, value = "metric") @Inject(type = ModelService.class, value = "metric")
protected ModelService<MetricReport> m_service; protected ModelService<MetricReport> m_service;
@Inject
protected MetricPointParser m_parser;
private Logger m_logger; private Logger m_logger;
private static final long TEN_SECONDS = 10 * TimeUtil.ONE_MINUTE;
private static final int DURATION_IN_MINUTE = 1; private static final int DURATION_IN_MINUTE = 1;
private static final long DURATION = DURATION_IN_MINUTE * TimeUtil.ONE_MINUTE; private static final long DURATION = DURATION_IN_MINUTE * TimeUtil.ONE_MINUTE;
...@@ -72,7 +76,7 @@ public class MetricAlert implements Task, LogEnabled { ...@@ -72,7 +76,7 @@ public class MetricAlert implements Task, LogEnabled {
Transaction t = Cat.newTransaction("MetricAlert", "Redo"); Transaction t = Cat.newTransaction("MetricAlert", "Redo");
long current = System.currentTimeMillis(); long current = System.currentTimeMillis();
try { try {
Date reportPeriod = new Date(new Date().getTime() - DURATION); Date reportPeriod = new Date(new Date().getTime() - DURATION - TEN_SECONDS);
metricAlert(reportPeriod); metricAlert(reportPeriod);
t.setStatus(Transaction.SUCCESS); t.setStatus(Transaction.SUCCESS);
} catch (Exception e) { } catch (Exception e) {
...@@ -95,9 +99,8 @@ public class MetricAlert implements Task, LogEnabled { ...@@ -95,9 +99,8 @@ public class MetricAlert implements Task, LogEnabled {
protected void metricAlert(Date reportPeriod) { protected void metricAlert(Date reportPeriod) {
Map<String, MetricItemConfig> metricConfigMap = m_metricConfigManager.getMetricConfig().getMetricItemConfigs(); Map<String, MetricItemConfig> metricConfigMap = m_metricConfigManager.getMetricConfig().getMetricItemConfigs();
Map<String, double[]> baselineMap = new HashMap<String, double[]>(); Map<String,MetricReport> metricReportMap = new HashMap<String,MetricReport>();
Date hourStart = TaskHelper.thisHour(reportPeriod);
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
calendar.setTime(reportPeriod); calendar.setTime(reportPeriod);
int minute = calendar.get(Calendar.MINUTE); int minute = calendar.get(Calendar.MINUTE);
...@@ -108,13 +111,18 @@ public class MetricAlert implements Task, LogEnabled { ...@@ -108,13 +111,18 @@ public class MetricAlert implements Task, LogEnabled {
for (MetricType type : MetricType.values()) { for (MetricType type : MetricType.values()) {
String key = metricID + ":" + type; String key = metricID + ":" + type;
BaselineConfig baselineConfig = m_baselineConfigManager.queryBaseLineConfig(key); BaselineConfig baselineConfig = m_baselineConfigManager.queryBaseLineConfig(key);
String baselineKey = key + "+" + reportPeriod.getTime(); double[] baseline = null;
double[] baseline = queryBaseline(baselineMap, baselineKey, key, reportPeriod); try {
if (baseline == null) { baseline = m_baselineService.queryHourlyBaseline("metric", key, reportPeriod);
continue; } catch (Exception e) {
continue;
}
MetricReport report = metricReportMap.get(productLine);
if(report == null){
report = queryMetricReport(productLine);
metricReportMap.put(productLine, report);
} }
MetricReport report = queryMetricReport(productLine, hourStart.getTime());
double[] datas = extractDatasFromReport(report, metricConfig, type); double[] datas = extractDatasFromReport(report, metricConfig, type);
if (datas == null) { if (datas == null) {
continue; continue;
...@@ -128,30 +136,17 @@ public class MetricAlert implements Task, LogEnabled { ...@@ -128,30 +136,17 @@ public class MetricAlert implements Task, LogEnabled {
} }
} }
private double[] queryBaseline(Map<String, double[]> baselineMap, String baselineKey, String key, Date reportPeriod) {
double[] result = baselineMap.get(baselineKey);
if (result == null) {
try {
result = m_baselineService.queryHourlyBaseline("metric", key, reportPeriod);
baselineMap.put(baselineKey, result);
} catch (Exception e) {
return null;
}
}
return result;
}
private double[] extractDatasFromReport(MetricReport report, MetricItemConfig metricConfig, MetricType type) { private double[] extractDatasFromReport(MetricReport report, MetricItemConfig metricConfig, MetricType type) {
try { try {
MetricItem reportItem = report.getMetricItems().get(metricConfig.getMetricKey()); MetricItem reportItem = report.getMetricItems().get(metricConfig.getMetricKey());
double[] datas = MetricPointParser.getOneHourData(reportItem, type); double[] datas = m_parser.getOneHourData(reportItem, type);
return datas; return datas;
} catch (NullPointerException e) { } catch (NullPointerException e) {
return null; return null;
} }
} }
private MetricReport queryMetricReport(String product, long dateTime) { private MetricReport queryMetricReport(String product) {
ModelRequest request = new ModelRequest(product, ModelPeriod.CURRENT.getStartTime()); ModelRequest request = new ModelRequest(product, ModelPeriod.CURRENT.getStartTime());
if (m_service.isEligable(request)) { if (m_service.isEligable(request)) {
ModelResponse<MetricReport> response = m_service.invoke(request); ModelResponse<MetricReport> response = m_service.invoke(request);
......
...@@ -2,8 +2,10 @@ package com.dianping.cat.report.task.metric; ...@@ -2,8 +2,10 @@ package com.dianping.cat.report.task.metric;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map;
import org.unidal.lookup.annotation.Inject; import org.unidal.lookup.annotation.Inject;
...@@ -40,17 +42,22 @@ public class MetricBaselineReportBuilder implements ReportTaskBuilder { ...@@ -40,17 +42,22 @@ public class MetricBaselineReportBuilder implements ReportTaskBuilder {
@Inject @Inject
protected BaselineService m_baselineService; protected BaselineService m_baselineService;
@Inject
protected MetricPointParser m_parser;
private static final int POINT_NUMBER = 60 * 24; private static final int POINT_NUMBER = 60 * 24;
@Override @Override
public boolean buildDailyTask(String reportName, String domain, Date reportPeriod) { public boolean buildDailyTask(String reportName, String domain, Date reportPeriod) {
Map<String, MetricReport> reportMap = new HashMap<String, MetricReport>();
for (String metricID : m_configManager.getMetricConfig().getMetricItemConfigs().keySet()) { for (String metricID : m_configManager.getMetricConfig().getMetricItemConfigs().keySet()) {
buildDailyReportInternal(reportName, metricID, reportPeriod); buildDailyReportInternal(reportMap, reportName, metricID, reportPeriod);
} }
return true; return true;
} }
protected void buildDailyReportInternal(String reportName, String metricID, Date reportPeriod) { protected void buildDailyReportInternal(Map<String, MetricReport> reportMap, String reportName, String metricID,
Date reportPeriod) {
MetricItemConfig metricConfig = m_configManager.getMetricConfig().getMetricItemConfigs().get(metricID); MetricItemConfig metricConfig = m_configManager.getMetricConfig().getMetricItemConfigs().get(metricID);
String metricKey = metricConfig.getMetricKey(); String metricKey = metricConfig.getMetricKey();
String metricDomain = metricConfig.getDomain(); String metricDomain = metricConfig.getDomain();
...@@ -67,12 +74,17 @@ public class MetricBaselineReportBuilder implements ReportTaskBuilder { ...@@ -67,12 +74,17 @@ public class MetricBaselineReportBuilder implements ReportTaskBuilder {
Date relatedHour = new Date(reportPeriod.getTime() + day * TimeUtil.ONE_DAY); Date relatedHour = new Date(reportPeriod.getTime() + day * TimeUtil.ONE_DAY);
for (int i = 0; i < 24; i++) { for (int i = 0; i < 24; i++) {
Date hourEnd = new Date(relatedHour.getTime() + TimeUtil.ONE_HOUR); Date hourEnd = new Date(relatedHour.getTime() + TimeUtil.ONE_HOUR);
MetricReport report = m_reportService.queryMetricReport(productLine, relatedHour, hourEnd); String metricReportKey = productLine + ":" + relatedHour.getTime();
MetricReport report = reportMap.get(metricReportKey);
if (report == null) {
report = m_reportService.queryMetricReport(productLine, relatedHour, hourEnd);
reportMap.put(metricReportKey, report);
}
MetricItem reportItem = report.getMetricItems().get(metricKey); MetricItem reportItem = report.getMetricItems().get(metricKey);
relatedHour = hourEnd; relatedHour = hourEnd;
reports.add(reportItem); reports.add(reportItem);
} }
double[] oneDayValue = MetricPointParser.getOneDayData(reports, type); double[] oneDayValue = m_parser.getOneDayData(reports, type);
values.add(oneDayValue); values.add(oneDayValue);
} }
......
...@@ -10,7 +10,7 @@ public class MetricPointParser { ...@@ -10,7 +10,7 @@ public class MetricPointParser {
private static final int POINT_NUMBER = 60; private static final int POINT_NUMBER = 60;
public static double[] getOneHourData(MetricItem report, MetricType type) { public double[] getOneHourData(MetricItem report, MetricType type) {
double[] result = new double[POINT_NUMBER]; double[] result = new double[POINT_NUMBER];
Map<Integer, Point> map = report.getAbtests().get("-1").getGroups().get("").getPoints(); Map<Integer, Point> map = report.getAbtests().get("-1").getGroups().get("").getPoints();
for (Integer minute : map.keySet()) { for (Integer minute : map.keySet()) {
...@@ -28,7 +28,7 @@ public class MetricPointParser { ...@@ -28,7 +28,7 @@ public class MetricPointParser {
return result; return result;
} }
public static double[] getOneDayData(List<MetricItem> reports, MetricType type) { public double[] getOneDayData(List<MetricItem> reports, MetricType type) {
double[] values = new double[24*POINT_NUMBER]; double[] values = new double[24*POINT_NUMBER];
for (int i = 0; i < 24*POINT_NUMBER; i++) { for (int i = 0; i < 24*POINT_NUMBER; i++) {
values[i] = -1; values[i] = -1;
...@@ -36,7 +36,7 @@ public class MetricPointParser { ...@@ -36,7 +36,7 @@ public class MetricPointParser {
int hour = 0; int hour = 0;
for (MetricItem report : reports) { for (MetricItem report : reports) {
try { try {
double[] oneHourValues = MetricPointParser.getOneHourData(report, type); double[] oneHourValues = getOneHourData(report, type);
for (int minute = 0; minute < 60; minute ++) { for (int minute = 0; minute < 60; minute ++) {
int index = hour * 60 + minute; int index = hour * 60 + minute;
......
...@@ -269,6 +269,10 @@ ...@@ -269,6 +269,10 @@
<role>com.dianping.cat.report.task.sql.SqlMerger</role> <role>com.dianping.cat.report.task.sql.SqlMerger</role>
<implementation>com.dianping.cat.report.task.sql.SqlMerger</implementation> <implementation>com.dianping.cat.report.task.sql.SqlMerger</implementation>
</component> </component>
<component>
<role>com.dianping.cat.report.task.metric.MetricPointParser</role>
<implementation>com.dianping.cat.report.task.metric.MetricPointParser</implementation>
</component>
<component> <component>
<role>com.dianping.cat.report.baseline.BaselineCreator</role> <role>com.dianping.cat.report.baseline.BaselineCreator</role>
<implementation>com.dianping.cat.report.baseline.impl.DefaultBaselineCreator</implementation> <implementation>com.dianping.cat.report.baseline.impl.DefaultBaselineCreator</implementation>
...@@ -293,6 +297,9 @@ ...@@ -293,6 +297,9 @@
<requirement> <requirement>
<role>com.dianping.cat.report.service.ReportService</role> <role>com.dianping.cat.report.service.ReportService</role>
</requirement> </requirement>
<requirement>
<role>com.dianping.cat.report.task.metric.MetricPointParser</role>
</requirement>
<requirement> <requirement>
<role>com.dianping.cat.consumer.advanced.MetricConfigManager</role> <role>com.dianping.cat.consumer.advanced.MetricConfigManager</role>
</requirement> </requirement>
...@@ -320,6 +327,9 @@ ...@@ -320,6 +327,9 @@
<requirement> <requirement>
<role>com.dianping.cat.ServerConfigManager</role> <role>com.dianping.cat.ServerConfigManager</role>
</requirement> </requirement>
<requirement>
<role>com.dianping.cat.report.task.metric.MetricPointParser</role>
</requirement>
<requirement> <requirement>
<role>com.dianping.cat.consumer.advanced.MetricConfigManager</role> <role>com.dianping.cat.consumer.advanced.MetricConfigManager</role>
</requirement> </requirement>
......
...@@ -21,7 +21,7 @@ public class MetricAlertTest extends ComponentTestCase { ...@@ -21,7 +21,7 @@ public class MetricAlertTest extends ComponentTestCase {
MetricAlert alert = lookup(MetricAlert.class); MetricAlert alert = lookup(MetricAlert.class);
ModelService<MetricReport> modelService = new MyModelService(); ModelService<MetricReport> modelService = new MyModelService();
alert.m_service = modelService; alert.m_service = modelService;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
alert.metricAlert(format.parse("2013-07-10 10:00:00")); alert.metricAlert(format.parse("2013-07-10 10:00:00"));
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
...@@ -32,28 +32,24 @@ public class MetricAlertTest extends ComponentTestCase { ...@@ -32,28 +32,24 @@ public class MetricAlertTest extends ComponentTestCase {
@Override @Override
public String getName() { public String getName() {
// TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public ModelResponse<MetricReport> invoke(ModelRequest request) { public ModelResponse<MetricReport> invoke(ModelRequest request) {
ModelResponse<MetricReport> response= new ModelResponse<MetricReport>(); ModelResponse<MetricReport> response = new ModelResponse<MetricReport>();
String xml; String xml;
try { try {
xml = Files.forIO().readFrom(getClass().getResourceAsStream("metricReport.xml"), xml = Files.forIO().readFrom(getClass().getResourceAsStream("metricReport.xml"), "utf-8");
"utf-8"); MetricReport report = DefaultSaxParser.parse(xml);
MetricReport report = DefaultSaxParser.parse(xml); response.setModel(report);
response.setModel(report); } catch (IOException e) {
} catch (IOException e) { e.printStackTrace();
// TODO Auto-generated catch block } catch (SAXException e) {
e.printStackTrace(); e.printStackTrace();
} catch (SAXException e) { }
// TODO Auto-generated catch block return response;
e.printStackTrace(); }
}
return response;
}
@Override @Override
public boolean isEligable(ModelRequest request) { public boolean isEligable(ModelRequest request) {
......
...@@ -3,11 +3,13 @@ package com.dianping.cat.report.task.metric; ...@@ -3,11 +3,13 @@ package com.dianping.cat.report.task.metric;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import org.unidal.lookup.ComponentTestCase; import org.unidal.lookup.ComponentTestCase;
import com.dianping.cat.consumer.metric.model.entity.MetricReport;
import com.dianping.cat.home.dal.report.Baseline; import com.dianping.cat.home.dal.report.Baseline;
import com.dianping.cat.report.baseline.BaselineConfig; import com.dianping.cat.report.baseline.BaselineConfig;
import com.dianping.cat.report.baseline.BaselineConfigManager; import com.dianping.cat.report.baseline.BaselineConfigManager;
...@@ -69,7 +71,7 @@ public class MetricBaselineReportBuilderTest extends ComponentTestCase { ...@@ -69,7 +71,7 @@ public class MetricBaselineReportBuilderTest extends ComponentTestCase {
public void testBuildDailyReport() throws Exception { public void testBuildDailyReport() throws Exception {
MetricBaselineReportBuilder builder = getReportBuilder(); MetricBaselineReportBuilder builder = getReportBuilder();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
builder.buildDailyReportInternal("metric", "TuanGouWeb:URL:/index", format.parse("2013-07-01 00:00:00")); builder.buildDailyReportInternal(new HashMap<String, MetricReport>(), "metric", "TuanGouWeb:URL:/index", format.parse("2013-07-01 00:00:00"));
} }
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册