diff --git a/cat-consumer/src/test/resources/com/dianping/cat/consumer/failure/Failure.html b/cat-consumer/src/test/resources/com/dianping/cat/consumer/failure/Failure.html
deleted file mode 100644
index 47259d02fc16823e7393fcd5b19f6cb2a0ed617e..0000000000000000000000000000000000000000
--- a/cat-consumer/src/test/resources/com/dianping/cat/consumer/failure/Failure.html
+++ /dev/null
@@ -1,247 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/cat-home/src/main/webapp/js/failure.js b/cat-home/src/main/webapp/js/failure.js
index 70eae43241a3a9961cb4c79f87d7b312ac3028a8..ca2f82795ce2af41d2e047a27073494e21f551a7 100644
--- a/cat-home/src/main/webapp/js/failure.js
+++ b/cat-home/src/main/webapp/js/failure.js
@@ -1,105 +1,101 @@
- var jsObject = eval(jsonDate);
- var threadArray = new Array();
- threadArray.push('Minute');
+var jsObject = eval(jsonDate);
+var threadArray = new Array();
+threadArray.push('Minute');
- for (i = 0; i < jsObject.threads.threads.length; i++) {
- threadArray.push(jsObject.threads.threads[i]);
- }
+for (i = 0; i < jsObject.threads.threads.length; i++) {
+ threadArray.push(jsObject.threads.threads[i]);
+}
- var colModelArray = new Array();
+var colModelArray = new Array();
- for (i = 0; i < threadArray.length; i++) {
- var object = {
- "name" : threadArray[i],
- "index" : threadArray[i],
- "sorttype" : "string"
- };
- colModelArray.push(object);
- }
+for (i = 0; i < threadArray.length; i++) {
+ var object = {
+ "name" : threadArray[i],
+ "index" : threadArray[i],
+ "sorttype" : "string"
+ };
+ colModelArray.push(object);
+}
- $(function() {
- $("#failureTable").jqGrid({
- datatype : "local",
- colNames : threadArray,
- colModel : colModelArray,
- viewrecords : true,
- caption : "Failure Report",
- height : 250,
- loadComplete : function() {
- var grid = $("#failureTable");
- var ids = grid.getDataIDs();
- for ( var i = 0; i < ids.length; i++) {
- grid.setRowData(ids[i], false, {
- height : 25
- });
- }
- grid.setGridHeight('auto');
- }
- }).navGrid('#pager2', {
- edit : false,
- add : false,
- del : false
- });
-
- jQuery("#failureTable").jqGrid('setGridWidth','1500');
- for ( var i = 0; i < jsObject.segments.length; i++) {
- var segments = jsObject.segments[i];
- for(var j=0;j'+ url;
- }
- }
- var minuteData = {};
- for ( var i = 0; i < threadArray.length; i++) {
- minuteData[threadArray[i]] = threadResult[i];
- }
- jQuery("#failureTable").jqGrid('addRowData', i + 1,
- minuteData);
- }
- }
- });
- function creatNewArray(length) {
- var array = new Array();
- for ( var i = 0; i < length; i++) {
- array.push("");
+$(function() {
+ $("#failureTable").jqGrid( {
+ datatype : "local",
+ colNames : threadArray,
+ colModel : colModelArray,
+ viewrecords : true,
+ caption :"From "+jsObject.startTime+" To "+jsObject.endTime + " Failure Report " +" Domain:" + jsObject.domain,
+ height : 500,
+ loadComplete : function() {
+ var grid = $("#failureTable");
+ var ids = grid.getDataIDs();
+ for ( var i = 0; i < ids.length; i++) {
+ grid.setRowData(ids[i], false, {
+ height : 25
+ });
}
- return array;
+ grid.setGridHeight('auto');
}
+ }).navGrid('#pager2', {
+ edit : false,
+ add : false,
+ del : false
+ });
- function getIndex(object, array) {
- for ( var i = 0; i < array.length; i++) {
- if (array[i] == object)
- return i;
- }
- }
+ jQuery("#failureTable").jqGrid('setGridWidth', '90%');
+ for (var i = 0; i < jsObject.segments.length; i++) {
+ var segment = jsObject.segments[i];
+ var threadResult = creatNewArray(threadArray.length);
+ threadResult[0] = jsObject.segments[i].id;
+ for ( var j = 0; j < segment.entries.length; j++) {
+ var entry = segment.entries[j];
+ var threadId = entry.threadId;
+ var type = entry.type;
+ var messageId = entry.messageId;
+ var text = entry.text;
- function getUrl(type, text ,messageId) {
- if (type == 'RuntimeException') {
- return '' + text + '';
- } else if (type == 'Exception') {
- return '' + text + '';
- } else if (type == 'Error') {
- return '' + text + '';
+ var index = getIndex(threadId, threadArray);
+ var url = getUrl(type, text, messageId);
+ if (threadResult[index] == "") {
+ threadResult[index] = threadResult[index] + url;
} else {
- return '' + text + '';
+ threadResult[index] = threadResult[index] + '' + url;
}
- }
\ No newline at end of file
+ }
+ var minuteData = {};
+ for ( var m = 0; m < threadArray.length; m++) {
+ minuteData[threadArray[m]] = threadResult[m];
+ }
+ jQuery("#failureTable").jqGrid('addRowData', m + 1, minuteData);
+ }
+});
+
+function creatNewArray(length) {
+ var array = new Array();
+ for ( var i = 0; i < length; i++) {
+ array.push("");
+ }
+ return array;
+}
+
+function getIndex(object, array) {
+ for ( var i = 0; i < array.length; i++) {
+ if (array[i] == object)
+ return i;
+ }
+}
+
+function getUrl(type, text, messageId) {
+ if (type == 'RuntimeException') {
+ return '' + text + '';
+ } else if (type == 'Exception') {
+ return '' + text + '';
+ } else if (type == 'Error') {
+ return '' + text + '';
+ } else {
+ return '' + text + '';
+ }
+}
\ No newline at end of file