From c0629f94ab5e78882823b799fd5297777c2e5b64 Mon Sep 17 00:00:00 2001 From: youyong205 Date: Sat, 24 May 2014 16:45:09 +0800 Subject: [PATCH] modify the metric title builder --- .../report/chart/AggregationGraphCreator.java | 3 +- .../cat/report/chart/BaseGraphCreator.java | 60 +++++++------------ .../report/chart/DefaultAggGraphCreator.java | 3 +- .../cat/report/task/metric/AlertInfo.java | 2 +- .../cat/report/task/metric/MetricAlert.java | 2 +- .../cat/report/task/metric/SwitchAlert.java | 2 +- .../productLine/topologyProductLines.jsp | 12 ++-- 7 files changed, 34 insertions(+), 50 deletions(-) diff --git a/cat-home/src/main/java/com/dianping/cat/report/chart/AggregationGraphCreator.java b/cat-home/src/main/java/com/dianping/cat/report/chart/AggregationGraphCreator.java index 71e0fe70d..a64000cbb 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/chart/AggregationGraphCreator.java +++ b/cat-home/src/main/java/com/dianping/cat/report/chart/AggregationGraphCreator.java @@ -63,7 +63,6 @@ public class AggregationGraphCreator extends BaseGraphCreator { private Pair buildAggerationChart(final Map datas, Date startDate, Date endDate, final Map dataWithOutFutures, MetricAggregation metricAggregation) { - MetricAggregationGroup metricAggregationGroup = m_metricAggregationConfigManager.getMetricAggregationConfig() .findMetricAggregationGroup(m_aggregationGroup); List alertItems = m_alertInfo.getLastestAlarm(5); @@ -88,7 +87,7 @@ public class AggregationGraphCreator extends BaseGraphCreator { String itemKey = domain + ":" + type + ":" + metricAggregationItem.getKey() + ":" + displayType.toUpperCase(); if (dataWithOutFutures.containsKey(itemKey)) { - buildLineChartTitle(alertItems, lineChart, itemKey, title); + buildLineChartTitle(alertItems, lineChart, itemKey); Map all = convertToMap(datas.get(itemKey), startDate, 1); Map current = convertToMap(dataWithOutFutures.get(itemKey), startDate, step); diff --git a/cat-home/src/main/java/com/dianping/cat/report/chart/BaseGraphCreator.java b/cat-home/src/main/java/com/dianping/cat/report/chart/BaseGraphCreator.java index 91321a268..e8bd9b856 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/chart/BaseGraphCreator.java +++ b/cat-home/src/main/java/com/dianping/cat/report/chart/BaseGraphCreator.java @@ -62,8 +62,10 @@ public abstract class BaseGraphCreator implements LogEnabled { protected void addLastMinuteData(Map current, Map all, int minute, Date end) { int step = m_dataExtractor.getStep(); - if (step == 1) + + if (step == 1) { return; + } long endTime = 0; long currentTime = System.currentTimeMillis(); if (end.getTime() > currentTime) { @@ -95,21 +97,10 @@ public abstract class BaseGraphCreator implements LogEnabled { protected void buildLineChartTitle(List alertItems, LineChart chart, String key) { int index = key.lastIndexOf(":"); - String id = key.substring(0, index); + String metricId = key.substring(0, index); String type = key.substring(index + 1); - MetricItemConfig config = m_metricConfigManager.queryMetricItemConfig(id); - String metricId = m_metricConfigManager.buildMetricKey(config.getDomain(), config.getType(), - config.getMetricKey()); - String des = ""; - - config.setId(metricId); - if (MetricType.AVG.name().equals(type)) { - des = Chinese.Suffix_AVG; - } else if (MetricType.SUM.name().equals(type)) { - des = Chinese.Suffix_SUM; - } else if (MetricType.COUNT.name().equals(type)) { - des = Chinese.Suffix_COUNT; - } + MetricItemConfig config = m_metricConfigManager.queryMetricItemConfig(metricId); + String des = queryMetricItemDes(type); String title = config.getTitle() + des; chart.setTitle(title); @@ -122,24 +113,18 @@ public abstract class BaseGraphCreator implements LogEnabled { } } - public void buildLineChartTitle(List alertItems, LineChart chart, String key, String title) { - if (chart.getHtmlTitle().contains("")) { - return; - } - int index = key.lastIndexOf(":"); - String id = key.substring(0, index); - MetricItemConfig config = m_metricConfigManager.queryMetricItemConfig(id); - String metricId = m_metricConfigManager.buildMetricKey(config.getDomain(), config.getType(), - config.getMetricKey()); - - config.setId(metricId); + private String queryMetricItemDes(String type) { + String des = ""; - if (alertItems.contains(config)) { - chart.setHtmlTitle("" + title + ""); - } else { - chart.setHtmlTitle(title); + if (MetricType.AVG.name().equals(type)) { + des = Chinese.Suffix_AVG; + } else if (MetricType.SUM.name().equals(type)) { + des = Chinese.Suffix_SUM; + } else if (MetricType.COUNT.name().equals(type)) { + des = Chinese.Suffix_COUNT; } - } + return des; + } protected double[] convert(double[] value, int removeLength) { int length = value.length; @@ -202,7 +187,7 @@ public abstract class BaseGraphCreator implements LogEnabled { for (; start < end; start += TimeUtil.ONE_HOUR) { Map currentValues = queryMetricValueByDate(productLine, start); - + mergeMap(oldCurrentValues, currentValues, totalSize, index); index++; } @@ -234,7 +219,7 @@ public abstract class BaseGraphCreator implements LogEnabled { MetricReport metricReport = m_metricReportService.queryMetricReport(productLine, new Date(start)); List domains = m_productLineConfigManager.queryDomainsByProductLine(productLine); List metricConfigs = m_metricConfigManager.queryMetricItemConfigs(domains); - + Collections.sort(metricConfigs, new Comparator() { @Override public int compare(MetricItemConfig o1, MetricItemConfig o2) { @@ -254,7 +239,8 @@ public abstract class BaseGraphCreator implements LogEnabled { } // if current report is not exist, use last day value replace it. if (sum <= 0 && start < TimeUtil.getCurrentHour().getTime()) { - MetricReport lastMetricReport = m_metricReportService.queryMetricReport(productLine, new Date(start - TimeUtil.ONE_DAY)); + MetricReport lastMetricReport = m_metricReportService.queryMetricReport(productLine, new Date(start + - TimeUtil.ONE_DAY)); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:ss"); m_logger.error("Replace error value, Metric report is not exsit, productLine:" + productLine + " ,date:" @@ -269,8 +255,8 @@ public abstract class BaseGraphCreator implements LogEnabled { // remove the minute of future Map newCurrentValues = new LinkedHashMap(); int step = m_dataExtractor.getStep(); - - if (step <= 0){ + + if (step <= 0) { return allCurrentValues; } int minute = Calendar.getInstance().get(Calendar.MINUTE); @@ -295,7 +281,7 @@ public abstract class BaseGraphCreator implements LogEnabled { } values.put(key, value); } - + protected void put(Map charts, Map result, String key) { LineChart value = charts.get(key); diff --git a/cat-home/src/main/java/com/dianping/cat/report/chart/DefaultAggGraphCreator.java b/cat-home/src/main/java/com/dianping/cat/report/chart/DefaultAggGraphCreator.java index 87f1f2be2..adad9f4f3 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/chart/DefaultAggGraphCreator.java +++ b/cat-home/src/main/java/com/dianping/cat/report/chart/DefaultAggGraphCreator.java @@ -36,7 +36,6 @@ public class DefaultAggGraphCreator extends GraphCreator { @Override public Map buildChartData(final Map datas, Date startDate, Date endDate, final Map dataWithOutFutures) { - Map> aggregationKeys = buildLineChartKeys(dataWithOutFutures.keySet()); Map charts = new LinkedHashMap(); List alertItems = m_alertInfo.getLastestAlarm(5); @@ -54,7 +53,7 @@ public class DefaultAggGraphCreator extends GraphCreator { for (String key : keyMapEntry.getValue()) { if (dataWithOutFutures.containsKey(key)) { - buildLineChartTitle(alertItems, lineChart, key, chartTitle); + buildLineChartTitle(alertItems, lineChart, key); double[] baselines = queryBaseline(key, startDate, endDate); Map all = convertToMap(datas.get(key), startDate, 1); diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/metric/AlertInfo.java b/cat-home/src/main/java/com/dianping/cat/report/task/metric/AlertInfo.java index 05bb1faef..eba4f5084 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/metric/AlertInfo.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/metric/AlertInfo.java @@ -12,7 +12,7 @@ public class AlertInfo { private ConcurrentHashMap m_alerts = new ConcurrentHashMap(); - public void addMetric(MetricItemConfig config, long value) { + public void addAlertInfo(MetricItemConfig config, long value) { m_alerts.putIfAbsent(config, value); } diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/metric/MetricAlert.java b/cat-home/src/main/java/com/dianping/cat/report/task/metric/MetricAlert.java index ac1c6146b..117b18637 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/metric/MetricAlert.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/metric/MetricAlert.java @@ -183,7 +183,7 @@ public class MetricAlert extends BaseAlert implements Task, LogEnabled { if (alert != null && alert.getKey()) { config.setId(m_metricConfigManager.buildMetricKey(config.getDomain(), config.getType(), config.getMetricKey())); - m_alertInfo.addMetric(config, new Date().getTime()); + m_alertInfo.addAlertInfo(config, new Date().getTime()); sendAlertInfo(productLine, config, alert.getValue()); } } diff --git a/cat-home/src/main/java/com/dianping/cat/report/task/metric/SwitchAlert.java b/cat-home/src/main/java/com/dianping/cat/report/task/metric/SwitchAlert.java index 73937953d..1a6c345ea 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/task/metric/SwitchAlert.java +++ b/cat-home/src/main/java/com/dianping/cat/report/task/metric/SwitchAlert.java @@ -124,7 +124,7 @@ public class SwitchAlert extends BaseAlert implements Task, LogEnabled { if (alert != null && alert.getKey()) { config.setId(m_metricConfigManager.buildMetricKey(config.getDomain(), config.getType(), config.getMetricKey())); - m_alertInfo.addMetric(config, new Date().getTime()); + m_alertInfo.addAlertInfo(config, new Date().getTime()); sendAlertInfo(productLine, config, alert.getValue()); } } diff --git a/cat-home/src/main/webapp/jsp/system/productLine/topologyProductLines.jsp b/cat-home/src/main/webapp/jsp/system/productLine/topologyProductLines.jsp index 3c93abd6e..cbdf4b41b 100644 --- a/cat-home/src/main/webapp/jsp/system/productLine/topologyProductLines.jsp +++ b/cat-home/src/main/webapp/jsp/system/productLine/topologyProductLines.jsp @@ -73,27 +73,27 @@ 产品线 标题 顺序 - 错误监控 业务监控 + 外部监控 + 应用监控 网络监控 系统监控 - 外部监控 项目列表 操作 新增 ${item.id}${item.title} ${item.order} - - + + + + - - ${domain.key}, -- GitLab