From 8733acd983eb6662b5d298480af881d1293c2651 Mon Sep 17 00:00:00 2001 From: "sean.wang" Date: Thu, 2 Feb 2012 00:36:46 +0800 Subject: [PATCH] page fix --- .../TransactionReportAnalyzer.java | 99 +++++++++++-------- cat-home/src/main/webapp/js/transaction.js | 2 +- 2 files changed, 57 insertions(+), 44 deletions(-) diff --git a/cat-consumer/src/main/java/com/dianping/cat/consumer/transaction/TransactionReportAnalyzer.java b/cat-consumer/src/main/java/com/dianping/cat/consumer/transaction/TransactionReportAnalyzer.java index 1abce713a..fbe141700 100644 --- a/cat-consumer/src/main/java/com/dianping/cat/consumer/transaction/TransactionReportAnalyzer.java +++ b/cat-consumer/src/main/java/com/dianping/cat/consumer/transaction/TransactionReportAnalyzer.java @@ -8,7 +8,6 @@ import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collection; -import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -20,7 +19,6 @@ import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationExce import com.dianping.cat.configuration.model.entity.Config; import com.dianping.cat.configuration.model.entity.Property; -import com.dianping.cat.consumer.failure.model.entity.FailureReport; import com.dianping.cat.consumer.transaction.model.entity.TransactionName; import com.dianping.cat.consumer.transaction.model.entity.TransactionReport; import com.dianping.cat.consumer.transaction.model.entity.TransactionType; @@ -38,16 +36,13 @@ import com.site.lookup.annotation.Inject; * @since Jan 5, 2012 */ public class TransactionReportAnalyzer extends AbstractMessageAnalyzer implements Initializable, LogEnabled { - private final static long MINUTE = 60 * 1000L; private final static SimpleDateFormat FILE_SDF = new SimpleDateFormat("yyyyMMddHHmm"); @Inject private MessageManager m_manager; - - private Map m_reports = new HashMap(); - private TransactionReport report; + private Map m_reports = new HashMap(); private long m_extraTime; @@ -55,7 +50,15 @@ public class TransactionReportAnalyzer extends AbstractMessageAnalyzer types = report.getTypes().values(); for (TransactionType type : types) { @@ -97,16 +100,7 @@ public class TransactionReportAnalyzer extends AbstractMessageAnalyzer generate() { List reports = new ArrayList(); for (String domain : m_reports.keySet()) { - computeMeanSquareDeviation(domain); + reports.add(generate(domain)); } return reports; } + @Override + public TransactionReport generate(String domain) { + if(domain == null) { + domain = (String)this.m_reports.keySet().toArray()[0]; + } + return computeMeanSquareDeviation(domain); + } + private String getTransactionFileName(TransactionReport report) { StringBuffer result = new StringBuffer(); String start = FILE_SDF.format(report.getStartTime()); @@ -147,7 +149,7 @@ public class TransactionReportAnalyzer extends AbstractMessageAnalyzer endTime + m_extraTime) { @@ -156,7 +158,7 @@ public class TransactionReportAnalyzer extends AbstractMessageAnalyzer children = t.getChildren(); for (Message child : children) { - process(child, null); + process(report, child, null); } } } @Override protected void process(MessageTree tree) { + String domain = tree.getDomain(); + TransactionReport report = this.m_reports.get(domain); if (report == null) { - this.report = new TransactionReport(tree.getDomain()); + report = new TransactionReport(domain); + this.m_reports.put(domain, report); } Message message = tree.getMessage(); - process(message, tree.getMessageId()); + process(report, message, tree.getMessageId()); } public void setAnalyzerInfo(long startTime, long duration, String domain, long extraTime) { - report = new TransactionReport(domain); - report.setStartTime(new Date(startTime)); - report.setEndTime(new Date(startTime + duration - MINUTE)); m_extraTime = extraTime; + m_startTime = startTime; + m_duration = duration; } public void setReportPath(String configPath) { m_reportPath = configPath; } + /** + * @param count + * @param ave + * @param sum2 + * @return + */ + public double std(long count, double ave, double sum2) { + return Math.sqrt(sum2 / count - 2 * ave * ave + ave * ave); + } + @Override - protected void store(List result) { - String failureFileName = getTransactionFileName(report); - String htmlPath = new StringBuilder().append(m_reportPath).append(failureFileName).append(".html").toString(); - File file = new File(htmlPath); + protected void store(List reports) { + if (reports == null || reports.size() == 0) { + return; + } + for (TransactionReport report : reports) { + String failureFileName = getTransactionFileName(report); + String htmlPath = new StringBuilder().append(m_reportPath).append(failureFileName).append(".html").toString(); + File file = new File(htmlPath); - file.getParentFile().mkdirs(); + file.getParentFile().mkdirs(); - DefaultJsonBuilder builder = new DefaultJsonBuilder(); + DefaultJsonBuilder builder = new DefaultJsonBuilder(); - report.accept(builder); + report.accept(builder); - try { - Files.forIO().writeTo(file, builder.getString()); - } catch (IOException e) { - m_logger.error(String.format("Error when writing to file(%s)!", file), e); + try { + Files.forIO().writeTo(file, builder.getString()); + } catch (IOException e) { + m_logger.error(String.format("Error when writing to file(%s)!", file), e); + } } } - @Override - public TransactionReport generate(String domain) { - // TODO Auto-generated method stub - return null; - } - } diff --git a/cat-home/src/main/webapp/js/transaction.js b/cat-home/src/main/webapp/js/transaction.js index 35e748c98..fde911fa0 100644 --- a/cat-home/src/main/webapp/js/transaction.js +++ b/cat-home/src/main/webapp/js/transaction.js @@ -25,7 +25,7 @@ $(function() ], sortname:'type', sortorder:'asc', - caption: "Transaction Summary", + caption: "Domain " + data["domain"] + " Transaction Summary", height: '100%', autowidth: true, loadComplete: function() { -- GitLab