--- 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 ) {