--- CircuitBreaker/src/dk/thoerup/circuitbreaker/web/ViewCircuitBreaker.java 2010/03/08 08:38:36 621
+++ CircuitBreaker/src/dk/thoerup/circuitbreaker/web/ViewCircuitBreaker.java 2011/04/11 07:58:57 1287
@@ -1,11 +1,13 @@
package dk.thoerup.circuitbreaker.web;
import java.util.Date;
+import java.util.LinkedList;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dk.thoerup.circuitbreaker.AccountingCircuitBreaker;
+import dk.thoerup.circuitbreaker.LoggingCircuitBreaker;
import dk.thoerup.circuitbreaker.CircuitBreaker;
import dk.thoerup.circuitbreaker.CircuitBreakerManager;
@@ -45,6 +47,14 @@
return sb.toString();
}
+ public String formatDate(long date) {
+ if (date == 0L) {
+ return "-";
+ } else {
+ return new Date(date).toString();
+ }
+ }
+
public String execute(HttpServletRequest req, HttpServletResponse resp) {
CircuitBreaker breaker = CircuitBreakerManager.getManager().getCircuitBreaker( req.getParameter("breaker"));
String uri = req.getRequestURI();
@@ -74,15 +84,33 @@
AccountingCircuitBreaker acb = (AccountingCircuitBreaker) breaker;
sb.append("
Accounting |
\n");
sb.append("Trip count | ").append( acb.getTripCount() ).append(" |
\n");
+ sb.append("Re-trip count | ").append( acb.getRetripCount() ).append(" |
\n");
sb.append("Block count | ").append( acb.getBlockCount() ).append(" |
\n");
sb.append("Total failure count | ").append( acb.getTotalFailureCount() ).append(" |
\n");
sb.append("Total Call count | ").append( acb.getTotalCallCount() ).append(" |
\n");
- sb.append("Last failure | ").append( new Date(acb.getLastFailure()).toString() ).append(" |
\n");
- sb.append("Last trip | ").append( new Date(acb.getLastTrip()).toString() ).append(" |
\n");
- sb.append("Last resetCounters | ").append( new Date(acb.getLastResetCounters()).toString() ).append(" |
\n");
+ sb.append("Last failure | ").append( formatDate(acb.getLastFailure()) ).append(" |
\n");
+ sb.append("Last trip | ").append( formatDate(acb.getLastTrip()) ).append(" |
\n");
+ sb.append("Last re-trip | ").append( formatDate(acb.getLastRetrip()) ).append(" |
\n");
+ sb.append("Last reset | ").append( formatDate(acb.getLastReset()) ).append(" |
\n");
+
+ sb.append("Last resetCounters | ").append( formatDate(acb.getLastResetCounters()) ).append(" |
\n");
+ }
+
+ if (breaker instanceof LoggingCircuitBreaker) {
+ LoggingCircuitBreaker lcb = (LoggingCircuitBreaker) breaker;
+
+ LinkedList list = lcb.getLog();
+
+ sb.append("Logging |
\n");
+ for(LoggingCircuitBreaker.LogEntry entry : list) {
+ sb.append("");
+ sb.append( formatDate(entry.time) ).append(" : ").append(entry.event);
+ sb.append(" |
");
+ }
}
- sb.append("
\n");
+ sb.append("\n");
+ sb.append("Current time: ").append( new Date().toString() ).append("
\n");
sb.append("Operations:\n");
if ( !readOnly ) {