@Override public void forceConviction(InetAddress ep) { logger.debug("Forcing conviction of {}", ep); for (IFailureDetectionEventListener listener : fdEvntListeners) { listener.convict(ep, getPhiConvictThreshold()); } }
@Override public void interpret(InetAddress ep) { ArrivalWindow hbWnd = arrivalSamples.get(ep); if (hbWnd == null) { return; } long now = System.nanoTime(); double phi = hbWnd.phi(now); if (logger.isTraceEnabled()) logger.trace("PHI for {} : {}", ep, phi); if (PHI_FACTOR * phi > getPhiConvictThreshold()) { logger.trace("notifying listeners that {} is down", ep); logger.trace("intervals: {} mean: {}", hbWnd, hbWnd.mean()); for (IFailureDetectionEventListener listener : fdEvntListeners) { listener.convict(ep, phi); } } }