org.rrd4j.core
Class Datasource

java.lang.Object
  extended by org.rrd4j.core.Datasource

public class Datasource
extends Object

Class to represent single datasource within RRD. Each datasource object holds the following information: datasource definition (once set, never changed) and datasource state variables (changed whenever RRD gets updated).

Normally, you don't need to manipulate Datasource objects directly, it's up to Rrd4j framework to do it for you.

Author:
Sasa Markovic

Method Summary
 void copyStateTo(org.rrd4j.core.RrdUpdater other)
          Copies object's internal state to another Datasource object.
 double getAccumValue()
          Returns value this datasource accumulated so far.
 int getDsIndex()
          Returns index of this Datasource object in the RRD.
 long getHeartbeat()
          Returns datasource heartbeat
 double getLastValue()
          Returns last known value of the datasource.
 double getMaxValue()
          Returns maximal allowed value for this datasource.
 double getMinValue()
          Returns minimal allowed value for this datasource.
 String getName()
          Returns datasource name.
 long getNanSeconds()
          Returns the number of accumulated NaN seconds.
 org.rrd4j.core.RrdAllocator getRrdAllocator()
          Required to implement RrdUpdater interface.
 RrdBackend getRrdBackend()
          Returns the underlying storage (backend) object which actually performs all I/O operations.
 DsType getType()
          Returns datasource type (GAUGE, COUNTER, DERIVE, ABSOLUTE).
 void setDsName(String newDsName)
          Sets datasource name to a new value
 void setDsType(DsType newDsType)
           
 void setHeartbeat(long heartbeat)
          Sets datasource heartbeat to a new value.
 void setMaxValue(double maxValue, boolean filterArchivedValues)
          Sets maximum allowed value for this datasource.
 void setMinMaxValue(double minValue, double maxValue, boolean filterArchivedValues)
          Sets min/max values allowed for this datasource.
 void setMinValue(double minValue, boolean filterArchivedValues)
          Sets minimum allowed value for this datasource.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getName

public String getName()
               throws IOException
Returns datasource name.

Returns:
Datasource name
Throws:
IOException - Thrown in case of I/O error

getType

public DsType getType()
               throws IOException
Returns datasource type (GAUGE, COUNTER, DERIVE, ABSOLUTE).

Returns:
Datasource type.
Throws:
IOException - Thrown in case of I/O error

getHeartbeat

public long getHeartbeat()
                  throws IOException
Returns datasource heartbeat

Returns:
Datasource heartbeat
Throws:
IOException - Thrown in case of I/O error

getMinValue

public double getMinValue()
                   throws IOException
Returns minimal allowed value for this datasource.

Returns:
Minimal value allowed.
Throws:
IOException - Thrown in case of I/O error

getMaxValue

public double getMaxValue()
                   throws IOException
Returns maximal allowed value for this datasource.

Returns:
Maximal value allowed.
Throws:
IOException - Thrown in case of I/O error

getLastValue

public double getLastValue()
                    throws IOException
Returns last known value of the datasource.

Returns:
Last datasource value.
Throws:
IOException - Thrown in case of I/O error

getAccumValue

public double getAccumValue()
                     throws IOException
Returns value this datasource accumulated so far.

Returns:
Accumulated datasource value.
Throws:
IOException - Thrown in case of I/O error

getNanSeconds

public long getNanSeconds()
                   throws IOException
Returns the number of accumulated NaN seconds.

Returns:
Accumulated NaN seconds.
Throws:
IOException - Thrown in case of I/O error

copyStateTo

public void copyStateTo(org.rrd4j.core.RrdUpdater other)
                 throws IOException
Copies object's internal state to another Datasource object.

Parameters:
other - New Datasource object to copy state to
Throws:
IOException - Thrown in case of I/O error

getDsIndex

public int getDsIndex()
               throws IOException
Returns index of this Datasource object in the RRD.

Returns:
Datasource index in the RRD.
Throws:
IOException - Thrown in case of I/O error

setHeartbeat

public void setHeartbeat(long heartbeat)
                  throws IOException
Sets datasource heartbeat to a new value.

Parameters:
heartbeat - New heartbeat value
Throws:
IOException - Thrown in case of I/O error
IllegalArgumentException - Thrown if invalid (non-positive) heartbeat value is specified.

setDsName

public void setDsName(String newDsName)
               throws IOException
Sets datasource name to a new value

Parameters:
newDsName - New datasource name
Throws:
IOException - Thrown in case of I/O error

setDsType

public void setDsType(DsType newDsType)
               throws IOException
Throws:
IOException

setMinValue

public void setMinValue(double minValue,
                        boolean filterArchivedValues)
                 throws IOException
Sets minimum allowed value for this datasource. If filterArchivedValues argument is set to true, all archived values less then minValue will be fixed to NaN.

Parameters:
minValue - New minimal value. Specify Double.NaN if no minimal value should be set
filterArchivedValues - true, if archived datasource values should be fixed; false, otherwise.
Throws:
IOException - Thrown in case of I/O error
IllegalArgumentException - Thrown if invalid minValue was supplied (not less then maxValue)

setMaxValue

public void setMaxValue(double maxValue,
                        boolean filterArchivedValues)
                 throws IOException
Sets maximum allowed value for this datasource. If filterArchivedValues argument is set to true, all archived values greater then maxValue will be fixed to NaN.

Parameters:
maxValue - New maximal value. Specify Double.NaN if no max value should be set.
filterArchivedValues - true, if archived datasource values should be fixed; false, otherwise.
Throws:
IOException - Thrown in case of I/O error
IllegalArgumentException - Thrown if invalid maxValue was supplied (not greater then minValue)

setMinMaxValue

public void setMinMaxValue(double minValue,
                           double maxValue,
                           boolean filterArchivedValues)
                    throws IOException
Sets min/max values allowed for this datasource. If filterArchivedValues argument is set to true, all archived values less then minValue or greater then maxValue will be fixed to NaN.

Parameters:
minValue - New minimal value. Specify Double.NaN if no min value should be set.
maxValue - New maximal value. Specify Double.NaN if no max value should be set.
filterArchivedValues - true, if archived datasource values should be fixed; false, otherwise.
Throws:
IOException - Thrown in case of I/O error
IllegalArgumentException - Thrown if invalid min/max values were supplied

getRrdBackend

public RrdBackend getRrdBackend()
Returns the underlying storage (backend) object which actually performs all I/O operations.

Returns:
I/O backend object

getRrdAllocator

public org.rrd4j.core.RrdAllocator getRrdAllocator()
Required to implement RrdUpdater interface. You should never call this method directly.

Returns:
Allocator object


Copyright © 2011. All Rights Reserved.