From ae35957dd460b695abe95bc70421bafa6c24cee3 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 24 Mar 2012 23:15:54 +0800 Subject: [PATCH] modify the page at home --- .../message/spi/codec/HtmlMessageCodec.java | 44 +++++++----- .../report/page/problem/GroupLevelInfo.java | 25 ++++--- .../cat/report/page/problem/Handler.java | 5 +- .../page/problem/ProblemStatistics.java | 10 +-- .../report/page/problem/ThreadLevelInfo.java | 23 ++++--- .../cat/report/view/ProblemReportHelper.java | 24 ++++--- cat-home/src/main/webapp/WEB-INF/webres.tld | 68 +++++++++---------- cat-home/src/main/webapp/css/logview.css | 3 +- cat-home/src/main/webapp/js/problem.js | 11 +++ .../main/webapp/jsp/report/problemDetail.jsp | 2 +- 10 files changed, 128 insertions(+), 87 deletions(-) diff --git a/cat-core/src/main/java/com/dianping/cat/message/spi/codec/HtmlMessageCodec.java b/cat-core/src/main/java/com/dianping/cat/message/spi/codec/HtmlMessageCodec.java index 316087ca6..bd721e079 100644 --- a/cat-core/src/main/java/com/dianping/cat/message/spi/codec/HtmlMessageCodec.java +++ b/cat-core/src/main/java/com/dianping/cat/message/spi/codec/HtmlMessageCodec.java @@ -111,23 +111,33 @@ public class HtmlMessageCodec implements MessageCodec, Initializable { protected int encodeHeader(MessageTree tree, ChannelBuffer buf) { BufferHelper helper = m_bufferHelper; - int count = 0; - - count += helper.tr1(buf,"header"); - count += helper.td(buf, ID); - count += helper.td(buf, tree.getDomain()); - count += helper.td(buf, tree.getHostName()); - count += helper.td(buf, tree.getIpAddress()); - count += helper.td(buf, tree.getThreadGroupName()); - count += helper.td(buf, tree.getThreadId()); - count += helper.td(buf, tree.getThreadName()); - count += helper.td(buf, tree.getMessageId()); - count += helper.td(buf, tree.getParentMessageId()); - count += helper.td(buf, tree.getRootMessageId()); - count += helper.td(buf, tree.getSessionToken()); - count += helper.tr2(buf); - count += helper.crlf(buf); - +// int count = 0; + +// count += helper.tr1(buf,"header"); +// count += helper.td(buf, ID); +// count += helper.td(buf, tree.getDomain()); +// count += helper.td(buf, tree.getHostName()); +// count += helper.td(buf, tree.getIpAddress()); +// count += helper.td(buf, tree.getThreadGroupName()); +// count += helper.td(buf, tree.getThreadId()); +// count += helper.td(buf, tree.getThreadName()); +// count += helper.td(buf, tree.getMessageId()); +// count += helper.td(buf, tree.getParentMessageId()); +// count += helper.td(buf, tree.getRootMessageId()); +// count += helper.td(buf, tree.getSessionToken()); +// count += helper.tr2(buf); +// count += helper.crlf(buf); + + StringBuilder sb = new StringBuilder(); + sb.append(""); + sb.append(ID).append(" ").append(tree.getDomain()).append(" "); + sb.append(tree.getHostName()).append(" ").append(tree.getIpAddress()).append(" "); + sb.append(tree.getThreadGroupName()).append(" ").append(tree.getThreadId()).append(" "); + sb.append(tree.getThreadName()).append(" ").append(tree.getMessageId()).append(" "); + sb.append(tree.getParentMessageId()).append(" ").append(tree.getRootMessageId()).append(" "); + sb.append(tree.getSessionToken()).append(" "); + sb.append(""); + int count = helper.write(buf,sb.toString()); return count; } diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/problem/GroupLevelInfo.java b/cat-home/src/main/java/com/dianping/cat/report/page/problem/GroupLevelInfo.java index 6c14d95db..4305818b9 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/page/problem/GroupLevelInfo.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/problem/GroupLevelInfo.java @@ -33,24 +33,27 @@ public class GroupLevelInfo { } private String getShowDetailByMinte(int minute) { + Map params = new LinkedHashMap(); + String baseUrl = "/cat/r/p?op=detail"; + params.put("domain", m_model.getDomain()); + params.put("ip", m_model.getIpAddress()); + params.put("date", m_model.getDate()); + params.put("minute", Integer.toString(minute)); + StringBuilder sb = new StringBuilder().append(""); + String minuteStr = Integer.toString(minute); if (minute < 10) { - sb.append("0"); + minuteStr ="0" +minute; } - sb.append(minute).append(""); + sb.append(ProblemReportHelper.creatLinkString(baseUrl, "minute", params, minuteStr)); + sb.append(""); + for (java.util.Map.Entry statistics : m_groupStatistics.entrySet()) { sb.append(""); - + params.put("group", statistics.getKey()); GroupStatistics value = statistics.getValue(); for (String temp : value.getStatistics().get(minute)) { - Map params = new LinkedHashMap(); - String baseUrl = "/cat/r/p?op=detail"; - params.put("group", statistics.getKey()); - params.put("domain", m_model.getDomain()); - params.put("ip", m_model.getIpAddress()); - params.put("date", m_model.getDate()); - params.put("minute", Integer.toString(minute)); - String url = ProblemReportHelper.creatLinkString(baseUrl, temp, params); + String url = ProblemReportHelper.creatLinkString(baseUrl, temp, params,""); sb.append(url); } sb.append(""); diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/problem/Handler.java b/cat-home/src/main/java/com/dianping/cat/report/page/problem/Handler.java index 8d2e872ed..8225c3e37 100755 --- a/cat-home/src/main/java/com/dianping/cat/report/page/problem/Handler.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/problem/Handler.java @@ -152,7 +152,10 @@ public class Handler implements PageHandler { String ip = getIpAddress(report, payload); if (period.isCurrent() || period.isFuture()) { - model.setLastMinute(getLastMinute(report, ip)); + Calendar cal = Calendar.getInstance(); + int minute = cal.get(Calendar.MINUTE); + //model.setLastMinute(getLastMinute(report, ip)); + model.setLastMinute(minute); } else { model.setLastMinute(59); } diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/problem/ProblemStatistics.java b/cat-home/src/main/java/com/dianping/cat/report/page/problem/ProblemStatistics.java index 25600d943..51b5f4eee 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/page/problem/ProblemStatistics.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/problem/ProblemStatistics.java @@ -28,7 +28,7 @@ public class ProblemStatistics { m_groupName = model.getGroupName(); m_threadId = model.getThreadId(); - + if (isEmpty(m_threadId) && isEmpty(m_groupName)) { // Min Level Map threads = machine.getThreads(); @@ -41,7 +41,7 @@ public class ProblemStatistics { statisticsEntries(entries); } - } else if (isEmpty(m_groupName) && !isEmpty(m_threadId)) { + } else if (!isEmpty(m_groupName) && isEmpty(m_threadId)) { Map threads = machine.getThreads(); for (JavaThread thread : threads.values()) { if (thread.getGroupName().equals(m_groupName)) { @@ -54,7 +54,7 @@ public class ProblemStatistics { } } - } else { + } else if (!isEmpty(m_groupName) && !isEmpty(m_threadId)) { // Thread Level JavaThread thread = machine.getThreads().get(model.getThreadId()); if (thread == null) { @@ -66,8 +66,10 @@ public class ProblemStatistics { } List entries = segment.getEntries(); statisticsEntries(entries); + } else{ + throw new RuntimeException("The url is error, it should contains thread group name at least!"); } - + return this; } diff --git a/cat-home/src/main/java/com/dianping/cat/report/page/problem/ThreadLevelInfo.java b/cat-home/src/main/java/com/dianping/cat/report/page/problem/ThreadLevelInfo.java index b69b83a6c..b3cd4ce94 100644 --- a/cat-home/src/main/java/com/dianping/cat/report/page/problem/ThreadLevelInfo.java +++ b/cat-home/src/main/java/com/dianping/cat/report/page/problem/ThreadLevelInfo.java @@ -60,12 +60,21 @@ public class ThreadLevelInfo { } private String getShowDetailByMinte(int minute) { + Map params = new LinkedHashMap(); + String baseUrl = "/cat/r/p?op=detail"; + params.put("domain", m_model.getDomain()); + params.put("ip", m_model.getIpAddress()); + params.put("date", m_model.getDate()); + params.put("minute", Integer.toString(minute)); + StringBuilder sb = new StringBuilder().append(""); - + String minuteStr = Integer.toString(minute); if (minute < 10) { - sb.append("0"); + minuteStr ="0" +minute; } - sb.append(minute).append(""); + sb.append(ProblemReportHelper.creatLinkString(baseUrl, "minute", params, minuteStr)); + sb.append(""); + for (java.util.Map.Entry statistics : m_groupStatistics.entrySet()) { GroupStatistics value = statistics.getValue(); String groupName = statistics.getKey(); @@ -77,17 +86,11 @@ public class ThreadLevelInfo { HashSet errors = theadStatistics.getStatistics().get(minute); sb.append(""); for (String error : errors) { - Map params = new LinkedHashMap(); - String baseUrl = "/cat/r/p?op=detail"; params.put("group", statistics.getKey()); if (groupName.equals(m_groupName)) { params.put("thread", thread); } - params.put("domain", m_model.getDomain()); - params.put("ip", m_model.getIpAddress()); - params.put("date", m_model.getDate()); - params.put("minute", Integer.toString(minute)); - String url = ProblemReportHelper.creatLinkString(baseUrl, error, params); + String url = ProblemReportHelper.creatLinkString(baseUrl, error, params,""); sb.append(url); } sb.append(""); diff --git a/cat-home/src/main/java/com/dianping/cat/report/view/ProblemReportHelper.java b/cat-home/src/main/java/com/dianping/cat/report/view/ProblemReportHelper.java index c6a51b56d..e3192374d 100755 --- a/cat-home/src/main/java/com/dianping/cat/report/view/ProblemReportHelper.java +++ b/cat-home/src/main/java/com/dianping/cat/report/view/ProblemReportHelper.java @@ -10,7 +10,7 @@ import com.dianping.cat.consumer.problem.model.entity.Segment; /* used by problem.jsp */ public class ProblemReportHelper { - + public static String showLegends(JavaThread thread, int minute, String domain, String ipAddress, long date) { Segment segment = thread.findSegment(minute); @@ -42,22 +42,30 @@ public class ProblemReportHelper { sb.append("&date=").append(date); sb.append("&minute=").append(minute); sb.append("\" class=\"").append(name).append("\">  "); - //sb.append("  "); + // sb.append("  "); } } return sb.toString(); } - - public static String creatLinkString(String baseUrl, String classStyle, Map params) { + + public static String creatLinkString(String baseUrl, String classStyle, Map params, String text) { StringBuilder sb = new StringBuilder(); - sb.append(" param : params.entrySet()) { sb.append("&").append(param.getKey()).append("=").append(param.getValue()); } - sb.append("\" class=\"").append(classStyle).append("\">  "); + sb.append("\" class=\"").append(classStyle).append("\""); + sb.append(" onclick=\"return show(this);\"" ).append(" >"); + if (text.trim().length() == 0) { + sb.append("  "); + } else { + sb.append(text); + } + sb.append(""); return sb.toString(); } diff --git a/cat-home/src/main/webapp/WEB-INF/webres.tld b/cat-home/src/main/webapp/WEB-INF/webres.tld index 10cbffaa9..908d2e5f2 100755 --- a/cat-home/src/main/webapp/WEB-INF/webres.tld +++ b/cat-home/src/main/webapp/WEB-INF/webres.tld @@ -51,13 +51,6 @@ org.unidal.webres.taglib.basic.UseCssTagHandler JSP - -value -false -true -java.lang.Object - - secure false @@ -79,6 +72,13 @@ java.lang.String + +value +false +true +java.lang.Object + + target false @@ -114,18 +114,18 @@ org.unidal.webres.taglib.basic.SetTagHandler JSP - -value + +id true true -java.lang.Object +java.lang.String - -id + +value true true -java.lang.String +java.lang.Object false @@ -135,13 +135,6 @@ org.unidal.webres.taglib.basic.UseJsTagHandler JSP - -value -false -true -java.lang.Object - - secure false @@ -163,6 +156,13 @@ java.lang.String + +value +false +true +java.lang.Object + + target false @@ -177,13 +177,6 @@ org.unidal.webres.taglib.basic.LinkTagHandler JSP - -value -true -true -java.lang.Object - - secure false @@ -197,6 +190,13 @@ true java.lang.String + + +value +true +true +java.lang.Object + true @@ -205,13 +205,6 @@ org.unidal.webres.taglib.basic.ImageTagHandler JSP - -value -true -true -java.lang.Object - - secure false @@ -232,6 +225,13 @@ true java.lang.String + + +value +true +true +java.lang.Object + true diff --git a/cat-home/src/main/webapp/css/logview.css b/cat-home/src/main/webapp/css/logview.css index 4b8439044..0f3aa23c7 100755 --- a/cat-home/src/main/webapp/css/logview.css +++ b/cat-home/src/main/webapp/css/logview.css @@ -37,5 +37,6 @@ tr.link td { .header{ - display:hidden; + font-size: small; + white-space: nowrap; } \ No newline at end of file diff --git a/cat-home/src/main/webapp/js/problem.js b/cat-home/src/main/webapp/js/problem.js index e69de29bb..1d0caa8ab 100755 --- a/cat-home/src/main/webapp/js/problem.js +++ b/cat-home/src/main/webapp/js/problem.js @@ -0,0 +1,11 @@ +function show(anchor) { + alert(anchor) + $.ajax({ + type: "get", + url: anchor.href, + success : function(data, textStatus) { + alert(data); + } + }); + +} \ No newline at end of file diff --git a/cat-home/src/main/webapp/jsp/report/problemDetail.jsp b/cat-home/src/main/webapp/jsp/report/problemDetail.jsp index 3fc21b556..2a6de0cff 100644 --- a/cat-home/src/main/webapp/jsp/report/problemDetail.jsp +++ b/cat-home/src/main/webapp/jsp/report/problemDetail.jsp @@ -24,7 +24,7 @@ - + -- GitLab
TypeCountDetail
    ${statistics.value.type}