@Override public String toString() { return toString(false); }
public String toString(boolean includeAll) { return report.toString(includeAll); } }
@Override public boolean mergeAvailabilityReport(AvailabilityReport availabilityReport) { AvailabilityReportSerializer.getSingleton().lock(availabilityReport.getAgentName()); try { String reportToString = availabilityReport.toString(false); if (log.isDebugEnabled()) log.debug("Processing " + reportToString); long start = System.currentTimeMillis(); AvailabilityManagerLocal availabilityManager = LookupUtil.getAvailabilityManager(); boolean ok = availabilityManager.mergeAvailabilityReport(availabilityReport); long elapsed = (System.currentTimeMillis() - start); if (elapsed > 20000L) { log.warn("Performance: processed " + reportToString + " - needFull=[" + !ok + "] in (" + elapsed + ")ms"); } else { if (log.isDebugEnabled()) { log.debug("Performance: processed " + reportToString + " - needFull=[" + !ok + "] in (" + elapsed + ")ms"); } } return ok; } catch (Exception e) { log.info("Error processing availability report from [" + availabilityReport.getAgentName() + "]: " + ThrowableUtil.getAllMessages(e)); return true; // not sure what happened, but avoid infinite recursion during error conditions; do not ask for a full report } finally { AvailabilityReportSerializer.getSingleton().unlock(availabilityReport.getAgentName()); } }
log.info("Sending availability report to Server..."); if (log.isDebugEnabled()) { log.debug("Availability report content: " + report.toString(log.isTraceEnabled()));