org.jrobin.core
public class RrdDef extends Object
Class to represent definition of new Round Robin Database (RRD).
Object of this class is used to create
new RRD from scratch - pass its reference as a RrdDb
constructor
argument (see documentation for RrdDb
class). RrdDef
object does not actually create new RRD. It just holds all necessary
information which will be used during the actual creation process
RRD definition (RrdDef object) consists of the following elements:
RrdDef provides API to set all these elements. For the complete explanation of all RRD definition parameters, see RRDTool's rrdcreate man page.
Field Summary | |
---|---|
static long | DEFAULT_INITIAL_SHIFT
if not specified in constructor, starting timestamp will be set to the
current timestamp plus DEFAULT_INITIAL_SHIFT seconds (-10) |
static long | DEFAULT_STEP
default RRD step to be used if not specified in constructor (300 seconds) |
Constructor Summary | |
---|---|
RrdDef(String path) Creates new RRD definition object with the given path. | |
RrdDef(String path, long step) Creates new RRD definition object with the given path and step. | |
RrdDef(String path, long startTime, long step) Creates new RRD definition object with the given path, starting timestamp and step. |
Method Summary | |
---|---|
void | addArchive(ArcDef arcDef)
Adds single archive definition represented with object of class ArcDef .
|
void | addArchive(ArcDef[] arcDefs)
Adds archive definitions to RRD definition in bulk.
|
void | addArchive(String consolFun, double xff, int steps, int rows)
Adds single archive definition by specifying its consolidation function, X-files factor,
number of steps and rows. |
void | addArchive(String rrdToolArcDef)
Adds single archive to RRD definition from a RRDTool-like
archive definition string. |
void | addDatasource(DsDef dsDef)
Adds single datasource definition represented with object of class DsDef .
|
void | addDatasource(String dsName, String dsType, long heartbeat, double minValue, double maxValue) Adds single datasource to RRD definition by specifying its data source name, source type, heartbeat, minimal and maximal value. |
void | addDatasource(String rrdToolDsDef)
Adds single datasource to RRD definition from a RRDTool-like
datasource definition string. |
void | addDatasource(DsDef[] dsDefs)
Adds data source definitions to RRD definition in bulk.
|
String | dump()
Returns string that represents all specified RRD creation parameters. |
boolean | equals(Object obj)
Compares the current RrdDef with another. |
void | exportXmlTemplate(OutputStream out)
Exports RrdDef object to output stream in XML format. |
String | exportXmlTemplate()
Exports RrdDef object to string in XML format. |
void | exportXmlTemplate(String filePath)
Exports RrdDef object to a file in XML format. |
int | getArcCount()
Returns number of defined archives.
|
ArcDef[] | getArcDefs()
Returns all archive definition objects specified so far.
|
int | getDsCount()
Returns number of defined datasources.
|
DsDef[] | getDsDefs()
Returns all data source definition objects specified so far.
|
long | getEstimatedSize()
Returns the number of storage bytes required to create RRD from this
RrdDef object.
|
String | getPath()
Returns path for the new RRD
|
long | getStartTime()
Returns starting timestamp for the RRD that should be created.
|
long | getStep()
Returns time step for the RRD that will be created.
|
void | removeArchives()
Removes all RRA archive definitions. |
void | removeDatasources()
Removes all datasource definitions. |
void | setPath(String path)
Sets path to RRD.
|
void | setStartTime(long startTime)
Sets RRD's starting timestamp.
|
void | setStartTime(Date date)
Sets RRD's starting timestamp.
|
void | setStartTime(Calendar gc)
Sets RRD's starting timestamp.
|
void | setStep(long step)
Sets RRD's time step.
|
Creates new RRD definition object with the given path.
When this object is passed to
RrdDb
constructor, new RRD will be created using the
specified path.
Parameters: path Path to new RRD.
Throws: RrdException Thrown if name is invalid (null or empty).
Creates new RRD definition object with the given path and step.
Parameters: path Path to new RRD. step RRD step.
Throws: RrdException Thrown if supplied parameters are invalid.
Creates new RRD definition object with the given path, starting timestamp and step.
Parameters: path Path to new RRD. startTime RRD starting timestamp. step RRD step.
Throws: RrdException Thrown if supplied parameters are invalid.
ArcDef
.
Parameters: arcDef Archive definition.
Throws: RrdException Thrown if archive with the same consolidation function and the same number of steps is already added.
Parameters: arcDefs Array of archive definition objects
Throws: RrdException Thrown if RRD definition already contains archive with the same consolidation function and the same number of steps.
Parameters: consolFun Consolidation function. Valid values are "AVERAGE", "MIN", "MAX" and "LAST" (these constants are conveniently defined in the ConsolFuns class) xff X-files factor. Valid values are between 0 and 1. steps Number of archive steps rows Number of archive rows
Throws: RrdException Thrown if archive with the same consolidation function and the same number of steps is already added.
RRA:consolidationFunction:XFilesFactor:steps:rowsFor example:
RRA:AVERAGE:0.5:10:1000For more information on archive definition parameters see
rrdcreate
man page.
Parameters: rrdToolArcDef Archive definition string with the syntax borrowed from RRDTool.
Throws: RrdException Thrown if invalid string is supplied.
DsDef
.
Parameters: dsDef Datasource definition.
Throws: RrdException Thrown if new datasource definition uses already used data source name.
Adds single datasource to RRD definition by specifying its data source name, source type, heartbeat, minimal and maximal value. For the complete explanation of all data source definition parameters see RRDTool's 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 types are "COUNTER",
"GAUGE", "DERIVE" and "ABSOLUTE" (these string constants are conveniently defined in
the DsTypes class). heartbeat Data source heartbeat. minValue Minimal acceptable value. Use Double.NaN
if unknown. maxValue Maximal acceptable value. Use Double.NaN
if unknown.
Throws: RrdException Thrown if new datasource definition uses already used data source name.
DS:name:type:heartbeat:minValue:maxValueFor example:
DS:input:COUNTER:600:0:UFor more information on datasource definition parameters see
rrdcreate
man page.
Parameters: rrdToolDsDef Datasource definition string with the syntax borrowed from RRDTool.
Throws: RrdException Thrown if invalid string is supplied.
Parameters: dsDefs Array of data source definition objects.
Throws: RrdException Thrown if duplicate data source name is used.
create
command.
Returns: Dumped content of RrdDb
object.
Parameters: obj The second RrdDef object
Returns: true if RrdDefs match exactly, false otherwise
Parameters: out Output stream
Returns: XML formatted string representing this RrdDef object
Parameters: filePath Path to the file
Returns: Number of defined archives.
Returns: Array of archive definition objects.
Returns: Number of defined datasources.
Returns: Array of data source definition objects
Returns: Estimated byte count of the underlying RRD storage.
Returns: path to the new RRD which should be created
Returns: RRD starting timestamp
Returns: RRD step
Parameters: path to new RRD.
Parameters: startTime starting timestamp.
Parameters: date starting date
Parameters: gc starting date
Parameters: step RRD time step.