|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object akka.remote.PhiAccrualFailureDetector
public class PhiAccrualFailureDetector
Implementation of 'The Phi Accrual Failure Detector' by Hayashibara et al. as defined in their paper: [http://ddg.jaist.ac.jp/pub/HDY+04.pdf]
The suspicion level of failure is given by a value called φ (phi). The basic idea of the φ failure detector is to express the value of φ on a scale that is dynamically adjusted to reflect current network conditions. A configurable threshold is used to decide if φ is considered to be a failure.
The value of φ is calculated as:
φ = -log10(1 - F(timeSinceLastHeartbeat)
where F is the cumulative distribution function of a normal distribution with mean
and standard deviation estimated from historical heartbeat inter-arrival times.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface akka.remote.FailureDetector |
---|
FailureDetector.Clock |
Constructor Summary | |
---|---|
PhiAccrualFailureDetector(com.typesafe.config.Config config,
EventStream ev)
Constructor that reads parameters from config. |
|
PhiAccrualFailureDetector(double threshold,
int maxSampleSize,
scala.concurrent.duration.FiniteDuration minStdDeviation,
scala.concurrent.duration.FiniteDuration acceptableHeartbeatPause,
scala.concurrent.duration.FiniteDuration firstHeartbeatEstimate,
FailureDetector.Clock clock)
|
Method Summary | |
---|---|
scala.concurrent.duration.FiniteDuration |
acceptableHeartbeatPause()
|
scala.concurrent.duration.FiniteDuration |
firstHeartbeatEstimate()
|
void |
heartbeat()
Notifies the FailureDetector that a heartbeat arrived from the monitored resource. |
boolean |
isAvailable()
Returns true if the resource is considered to be up and healthy and returns false otherwise. |
boolean |
isMonitoring()
Returns true if the failure detector has received any heartbeats and started monitoring of the resource. |
int |
maxSampleSize()
|
scala.concurrent.duration.FiniteDuration |
minStdDeviation()
|
double |
phi()
The suspicion level of the accrual failure detector. |
double |
threshold()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface akka.remote.FailureDetector |
---|
defaultClock |
Constructor Detail |
---|
public PhiAccrualFailureDetector(double threshold, int maxSampleSize, scala.concurrent.duration.FiniteDuration minStdDeviation, scala.concurrent.duration.FiniteDuration acceptableHeartbeatPause, scala.concurrent.duration.FiniteDuration firstHeartbeatEstimate, FailureDetector.Clock clock)
public PhiAccrualFailureDetector(com.typesafe.config.Config config, EventStream ev)
threshold
, max-sample-size
,
min-std-deviation
, acceptable-heartbeat-pause
and
heartbeat-interval
.
Method Detail |
---|
public double threshold()
public int maxSampleSize()
public scala.concurrent.duration.FiniteDuration minStdDeviation()
public scala.concurrent.duration.FiniteDuration acceptableHeartbeatPause()
public scala.concurrent.duration.FiniteDuration firstHeartbeatEstimate()
public boolean isAvailable()
FailureDetector
isAvailable
in interface FailureDetector
public boolean isMonitoring()
FailureDetector
isMonitoring
in interface FailureDetector
public final void heartbeat()
FailureDetector
heartbeat
in interface FailureDetector
public double phi()
If a connection does not have any records in failure detector then it is considered healthy.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |