java.lang.Object
java.lang.Enum<GraphGenerator.StaleCause>
net.i2p.router.web.GraphGenerator.StaleCause
All Implemented Interfaces:
Serializable, Comparable<GraphGenerator.StaleCause>, java.lang.constant.Constable
Enclosing class:
GraphGenerator

static enum GraphGenerator.StaleCauseextends Enum<GraphGenerator.StaleCause>
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 Constants
    Enum Constant
    Description
    The 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 Type
    Method
    Description
    (package private) boolean
    Whether this cause is a fault that loses recorded data.
    Returns the enum constant of this class with the specified name.
    Returns an array containing the constants of this enum class, in the order they are declared.

    Methods inherited from class Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

    • OK

      public static final GraphGenerator.StaleCause OK
      Not stalled: attached, registered, and writing within 2x its rate period.
    • NEVER_WRITTEN

      public static final GraphGenerator.StaleCause 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

      public static final GraphGenerator.StaleCause 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 from NEVER_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

      public static final GraphGenerator.StaleCause 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

      public static final GraphGenerator.StaleCause 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

      public static final GraphGenerator.StaleCause 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

      public static GraphGenerator.StaleCause[] 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

      public static GraphGenerator.StaleCause valueOf(String name)
      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 name
      NullPointerException - if the argument is null
    • isFault

      boolean isFault()
      Whether this cause is a fault that loses recorded data.

      Everything except OK and RATE_IDLE: an idle rate records nothing because nothing is happening, not because recording is broken.

      Returns:
      true unless the cause is OK or an idle rate