org.jrobin.core
public class Sample extends Object
Class to represent data source values for the given timestamp. Objects of this class are never created directly (no public constructor is provided). To learn more how to update RRDs, see RRDTool's rrdupdate man page.
To update a RRD with JRobin use the following procedure:
createSample()
on respective RrdDb
object.
setTime()
method).
setValue()
).
update()
method.
Newly created Sample object contains all data source values set to 'unknown'.
You should specifify only 'known' data source values. However, if you want to specify
'unknown' values too, use Double.NaN
.
Method Summary | |
---|---|
String | dump()
Dumps sample content using the syntax of RRDTool's update command.
|
String[] | getDsNames()
Returns an array of all data source names. |
long | getTime()
Returns sample timestamp (in seconds, without milliseconds).
|
double[] | getValues()
Returns all current data source values in the sample.
|
Sample | set(String timeAndValues) Sets sample timestamp and data source values in a fashion similar to RRDTool. |
void | setAndUpdate(String timeAndValues) Creates sample with the timestamp and data source values supplied in the argument string and stores sample in the corresponding RRD. |
Sample | setTime(long time)
Sets sample timestamp. |
Sample | setValue(String dsName, double value)
Sets single data source value in the sample.
|
Sample | setValue(int i, double value)
Sets single datasource value using data source index. |
Sample | setValues(double[] values)
Sets some (possibly all) data source values in bulk. |
void | update()
Stores sample in the corresponding RRD. |
Returns: Sample dump.
Returns: Acceptable data source names.
Returns: Sample timestamp.
Returns: Data source values.
Sets sample timestamp and data source values in a fashion similar to RRDTool.
Argument string should be composed in the following way:
timestamp:value1:value2:...:valueN
.
You don't have to supply all datasource values. Unspecified values will be treated as unknowns. To specify unknown value in the argument string, use letter 'U'
Parameters: timeAndValues String made by concatenating sample timestamp with corresponding
data source values delmited with colons. For example:
Method will throw an exception if timestamp is invalid (cannot be parsed as Long, and is not 'N'
or 'NOW'). Datasource value which cannot be parsed as 'double' will be silently set to NaN.
1005234132:12.2:35.6:U:24.5
NOW:12.2:35.6:U:24.5
'N' stands for the current timestamp (can be replaced with 'NOW')
Returns: This Sample
object
Throws: RrdException Thrown if too many datasource values are supplied
Creates sample with the timestamp and data source values supplied in the argument string and stores sample in the corresponding RRD. This method is just a shortcut for:
set(timeAndValues); update();
Parameters: timeAndValues String made by concatenating sample timestamp with corresponding
data source values delmited with colons. For example:
1005234132:12.2:35.6:U:24.5
NOW:12.2:35.6:U:24.5
Throws: IOException Thrown in case of I/O error. RrdException Thrown in case of JRobin related error.
Parameters: time New sample timestamp.
Returns: This Sample
object
Parameters: dsName Data source name. value Data source value.
Returns: This Sample
object
Throws: RrdException Thrown if invalid data source name is supplied.
Parameters: i Data source index value Data source values
Returns: This Sample
object
Throws: RrdException Thrown if data source index is invalid.
Parameters: values Data source values.
Returns: This Sample
object
Throws: RrdException Thrown if the number of supplied values is zero or greater than the number of data sources defined in the RRD.
Throws: IOException Thrown in case of I/O error. RrdException Thrown in case of JRobin related error.