java.lang.Object
org.rrd4j.core.DsDef

public class DsDefextends Object
Class to represent single data source definition within the RRD. Datasource definition consists of the following five elements:
  • data source name
  • data source type
  • heartbeat
  • minimal value
  • maximal value

For the complete explanation of all source definition parameters, see the rrdcreate man page.

  • Field Details

    • FORCE_ZEROS_FOR_NANS_SUFFIX

      static final String FORCE_ZEROS_FOR_NANS_SUFFIX
      Force zeros for NaNs suffix
      See Also:
    • dsName

      private final String dsName
      Name of the data source.
    • dsType

      private final DsType dsType
      How the source's values are interpreted.
    • heartbeat

      private final long heartbeat
      Longest gap between updates before the source is unknown, in seconds.
    • minValue

      private final double minValue
      Range of accepted values, NaN for unbounded.
    • maxValue

      private final double maxValue
      Range of accepted values, NaN for unbounded.
  • Constructor Details

    • DsDef

      public DsDef(String dsName, DsType dsType, long heartbeat, double minValue, double maxValue)
      Creates new data source definition object. This object should be passed as argument to addDatasource() method of RrdDb object.

      For the complete explanation of all source definition parameters, see the rrdcreate man page

      IMPORTANT NOTE: If datasource name ends with '!', corresponding archives will never store NaNs as datasource values. In that case, NaN datasource values will be silently replaced with zeros by the framework.

      Parameters:
      dsName - Data source name.
      dsType - Data source type. Valid values are "COUNTER", "GAUGE", "DERIVE" and "ABSOLUTE" (these string constants are conveniently defined in the DsType class).
      heartbeat - seconds between writes of unknown or NaN values
      minValue - Minimal value. Use Double.NaN if unknown.
      maxValue - Maximal value. Use Double.NaN if unknown.
  • Method Details

    • getDsName

      public String getDsName()
      Returns data source name.
      Returns:
      Data source name.
    • getDsType

      public DsType getDsType()
      Returns source type.
      Returns:
      Source type ("COUNTER", "GAUGE", "DERIVE" or "ABSOLUTE").
    • getHeartbeat

      public long getHeartbeat()
      Returns source heartbeat.
      Returns:
      Source heartbeat in seconds.
    • getMinValue

      public double getMinValue()
      Returns minimal calculated source value.
      Returns:
      Minimal value.
    • getMaxValue

      public double getMaxValue()
      Returns maximal calculated source value.
      Returns:
      Maximal value.
    • dump

      public String dump()
      Returns string representing source definition (RRDTool format).
      Returns:
      String containing all data source definition parameters.
    • equals

      public boolean equals(Object obj)

      Checks if two datasource definitions are equal. Source definitions are treated as equal if they have the same source name. It is not possible to create RRD with two equal archive definitions.

      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Hashes the data source name alone, matching equals(Object).
      Overrides:
      hashCode in class Object
    • exactlyEqual

      boolean exactlyEqual(DsDef def)
      Checks if this DsDef is exactly equal to another, including all fields.
      Parameters:
      def - the other DsDef to compare
      Returns:
      true if all fields match