public class RrdDef extends Object
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:
Modifier and Type | Field and Description |
---|---|
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 and Description |
---|
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.
|
Modifier and Type | Method and Description |
---|---|
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 rrdToolArcDef)
Adds single archive to RRD definition from a RRDTool-like
archive definition string.
|
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 |
addDatasource(DsDef dsDef)
Adds single datasource definition represented with object of class
DsDef . |
void |
addDatasource(DsDef[] dsDefs)
Adds data source definitions to RRD definition in bulk.
|
void |
addDatasource(String rrdToolDsDef)
Adds single datasource to RRD definition from a RRDTool-like
datasource definition string.
|
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.
|
(package private) static long |
calculateSize(int dsCount,
int arcCount,
int rowsCount) |
String |
dump()
Returns string that represents all specified RRD creation parameters.
|
boolean |
equals(Object obj)
Compares the current RrdDef with another.
|
String |
exportXmlTemplate()
Exports RrdDef object to string in XML format.
|
void |
exportXmlTemplate(OutputStream out)
Exports RrdDef object to output stream in XML format.
|
void |
exportXmlTemplate(String filePath)
Exports RrdDef object to a file in XML format.
|
(package private) ArcDef |
findArchive(String consolFun,
int steps) |
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
|
(package private) String |
getRrdToolCommand() |
long |
getStartTime()
Returns starting timestamp for the RRD that should be created.
|
long |
getStep()
Returns time step for the RRD that will be created.
|
int |
hashCode() |
(package private) void |
removeArchive(String consolFun,
int steps) |
void |
removeArchives()
Removes all RRA archive definitions.
|
(package private) void |
removeDatasource(String dsName) |
void |
removeDatasources()
Removes all datasource definitions.
|
(package private) void |
saveSingleDatasource(String dsName) |
void |
setPath(String path)
Sets path to RRD.
|
void |
setStartTime(Calendar gc)
Sets RRD's starting timestamp.
|
void |
setStartTime(Date date)
Sets RRD's starting timestamp.
|
void |
setStartTime(long startTime)
Sets RRD's starting timestamp.
|
void |
setStep(long step)
Sets RRD's time step.
|
String |
toString() |
(package private) void |
validate() |
public static final long DEFAULT_STEP
public static final long DEFAULT_INITIAL_SHIFT
public RrdDef(String path) throws RrdException
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.
path
- Path to new RRD.RrdException
- Thrown if name is invalid (null or empty).public RrdDef(String path, long step) throws RrdException
Creates new RRD definition object with the given path and step.
path
- Path to new RRD.step
- RRD step.RrdException
- Thrown if supplied parameters are invalid.public RrdDef(String path, long startTime, long step) throws RrdException
Creates new RRD definition object with the given path, starting timestamp and step.
path
- Path to new RRD.startTime
- RRD starting timestamp.step
- RRD step.RrdException
- Thrown if supplied parameters are invalid.public String getPath()
public long getStartTime()
public long getStep()
public void setPath(String path)
path
- to new RRD.public void setStartTime(long startTime)
startTime
- starting timestamp.public void setStartTime(Date date)
date
- starting datepublic void setStartTime(Calendar gc)
gc
- starting datepublic void setStep(long step)
step
- RRD time step.public void addDatasource(DsDef dsDef) throws RrdException
DsDef
.dsDef
- Datasource definition.RrdException
- Thrown if new datasource definition uses already used data
source name.public void addDatasource(String dsName, String dsType, long heartbeat, double minValue, double maxValue) throws RrdException
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.
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.RrdException
- Thrown if new datasource definition uses already used data
source name.public void addDatasource(String rrdToolDsDef) throws RrdException
DS:name:type:heartbeat:minValue:maxValueFor example:
DS:input:COUNTER:600:0:UFor more information on datasource definition parameters see
rrdcreate
man page.rrdToolDsDef
- Datasource definition string with the syntax borrowed from RRDTool.RrdException
- Thrown if invalid string is supplied.public void addDatasource(DsDef[] dsDefs) throws RrdException
dsDefs
- Array of data source definition objects.RrdException
- Thrown if duplicate data source name is used.public void addArchive(ArcDef arcDef) throws RrdException
ArcDef
.arcDef
- Archive definition.RrdException
- Thrown if archive with the same consolidation function
and the same number of steps is already added.public void addArchive(ArcDef[] arcDefs) throws RrdException
arcDefs
- Array of archive definition objectsRrdException
- Thrown if RRD definition already contains archive with
the same consolidation function and the same number of steps.public void addArchive(String consolFun, double xff, int steps, int rows) throws RrdException
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 stepsrows
- Number of archive rowsRrdException
- Thrown if archive with the same consolidation function
and the same number of steps is already added.public void addArchive(String rrdToolArcDef) throws RrdException
RRA:consolidationFunction:XFilesFactor:steps:rowsFor example:
RRA:AVERAGE:0.5:10:1000For more information on archive definition parameters see
rrdcreate
man page.rrdToolArcDef
- Archive definition string with the syntax borrowed from RRDTool.RrdException
- Thrown if invalid string is supplied.void validate() throws RrdException
RrdException
public DsDef[] getDsDefs()
public ArcDef[] getArcDefs()
public int getDsCount()
public int getArcCount()
public String dump()
create
command.RrdDb
object.String getRrdToolCommand()
void removeDatasource(String dsName) throws RrdException
RrdException
void saveSingleDatasource(String dsName)
void removeArchive(String consolFun, int steps) throws RrdException
RrdException
ArcDef findArchive(String consolFun, int steps) throws RrdException
RrdException
public void exportXmlTemplate(OutputStream out)
RrdDefTemplate
class.out
- Output streampublic String exportXmlTemplate()
RrdDefTemplate
class.public void exportXmlTemplate(String filePath) throws IOException
RrdDefTemplate
class.filePath
- path to the fileIOException
- if an I/O error occurs.public long getEstimatedSize()
static long calculateSize(int dsCount, int arcCount, int rowsCount)
public boolean equals(Object obj)
public void removeDatasources()
public void removeArchives()