- All Implemented Interfaces:
Serializable, Comparable<GraphGenerator.StaleCause>, java.lang.constant.Constable
- Enclosing class:
GraphGenerator
Why a graph listener is not producing RRD writes.
The non-OK values are distinct faults with distinct fixes, so the staleness report names them individually: a single "nothing is being written" count cannot tell an operator which one to go and fix.
Nested Class Summary
Nested classes/interfaces inherited from class Enum
Enum.EnumDesc<E>Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionThe coalesce sweep itself is not running, so no rate is being asked to coalesce and every listener starves at once.Attached and registered, but no write has ever succeeded.Not stalled: attached, registered, and writing within 2x its rate period.Attached, registered, and no write, but the rate itself has not coalesced since the listener attached, so there was never a sample to write.Attached to an open RRD, but the Rate no longer points at this listener, so it can never be notified again.Attached, registered, and written to before: writes stopped while every part of the data path still looks healthy.Method Summary
Modifier and TypeMethodDescription(package private) booleanisFault()Whether this cause is a fault that loses recorded data.static GraphGenerator.StaleCauseReturns the enum constant of this class with the specified name.static GraphGenerator.StaleCause[]values()Returns an array containing the constants of this enum class, in the order they are declared.
Enum Constant Details
OK
Not stalled: attached, registered, and writing within 2x its rate period.NEVER_WRITTEN
Attached and registered, but no write has ever succeeded. The meaningful age is how long the listener instance has existed, since there is no earlier write to measure back from.RATE_IDLE
Attached, registered, and no write, but the rate itself has not coalesced since the listener attached, so there was never a sample to write. Nothing is being lost and nothing is broken, which is why this is separated fromNEVER_WRITTEN: a rate nobody updates is idle by definition, and reporting it as a data-path fault produces an ERROR that repeats forever and describes no action an operator can take.UNREGISTERED
Attached to an open RRD, but the Rate no longer points at this listener, so it can never be notified again. Recording is dead with no write error, no detach and no exception: the state a newer listener's registration leaves behind.WRITES_STOPPED
Attached, registered, and written to before: writes stopped while every part of the data path still looks healthy. The meaningful age is time since the last write.COALESCE_STALLED
The coalesce sweep itself is not running, so no rate is being asked to coalesce and every listener starves at once. This outranks every other cause: it is the only one that explains a whole table stopping together, and it is invisible from inside the stats package because the symptom is that the coalesce task is queued behind other work and never executes. The fix is never in a listener.
Method Details
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
isFault