org.jrobin.core
public class FetchData extends Object implements ConsolFuns
fetchData()
is
called on a FetchRequest
object.Data returned from the RRD is, simply, just one big table filled with timestamps and corresponding datasource values. Use
getRowCount()
method to count the number
of returned timestamps (table rows).The first table column is filled with timestamps. Time intervals between consecutive timestamps are guaranteed to be equal. Use
getTimestamps()
method to get an array of
timestamps returned.Remaining columns are filled with datasource values for the whole timestamp range, on a column-per-datasource basis. Use
getColumnCount()
to find
the number of datasources and getValues(i)
method to obtain
all values for the i-th datasource. Returned datasource values correspond to
the values returned with getTimestamps()
method.
Method Summary | |
---|---|
String | dump()
Dumps the content of the whole FetchData object. |
void | exportXml(OutputStream outputStream)
Dumps fetch data to output stream in XML format.
|
void | exportXml(String filepath)
Dumps fetch data to file in XML format.
|
String | exportXml()
Dumps fetch data in XML format.
|
double | get95Percentile(String dsName)
Used by ISPs which charge for bandwidth utilization on a "95th percentile" basis. The 95th percentile is the highest source value left when the top 5% of a numerically sorted set of source data is discarded. |
double | getAggregate(String dsName, String consolFun)
Returns single aggregated value from the fetched data for a single datasource.
|
double | getAggregate(String dsName, String consolFun, String rpnExpression)
Returns aggregated value from the fetched data for a single datasource.
|
Aggregates | getAggregates(String dsName)
Returns all aggregated values (MIN, MAX, LAST, FIRST, AVERAGE or TOTAL) calculated from the fetched data
for a single datasource.
|
long | getArcEndTime()
Returns the timestamp of the last populated slot in the corresponding RRA archive
|
long | getArcStep()
Returns the step of the corresponding RRA archive
|
int | getColumnCount()
Returns the number of columns fetched from the corresponding RRD.
|
int | getDsIndex(String dsName)
Retrieve the table index number of a datasource by name. |
String[] | getDsNames()
Returns array of datasource names found in the corresponding RRD. |
long | getFirstTimestamp()
Returns the first timestamp in this FetchData object.
|
long | getLastTimestamp()
Returns the last timestamp in this FecthData object.
|
Archive | getMatchingArchive()
Returns Archive object which is determined to be the best match for the
timestamps specified in the fetch request. |
FetchRequest | getRequest()
Returns FetchRequest object used to create this FetchData object.
|
int | getRowCount()
Returns the number of rows fetched from the corresponding RRD.
|
double | getRpn95Percentile(String rpnExpression)
Same as get95Percentile, but for a set of values calculated with the given
RPN expression.
|
double | getRpnAggregate(String rpnExpression, String consolFun)
Returns aggregated value for a set of values calculated by applying an RPN expression to the
fetched data. |
Aggregates | getRpnAggregates(String rpnExpression)
Returns all aggregated values for a set of values calculated by applying an RPN expression to the
fetched data. |
double[] | getRpnValues(String rpnExpression)
Returns a set of values created by applying RPN expression to the fetched data.
|
long | getStep()
Returns the step with which this data was fetched.
|
long[] | getTimestamps()
Returns an array of timestamps covering the whole range specified in the
FetchReguest object.
|
double[] | getValues(int dsIndex)
Returns all archived values for a single datasource.
|
double[][] | getValues()
Returns all archived values for all datasources.
|
double[] | getValues(String dsName)
Returns all archived values for a single datasource.
|
String | toString()
Returns string representing fetched data in a RRDTool-like form.
|
Parameters: outputStream Output stream to dump fetch data to
Throws: IOException Thrown in case of I/O error
Parameters: filepath Path to destination file
Throws: IOException Thrown in case of I/O error
Returns: String containing XML formatted fetch data
Throws: IOException Thrown in case of I/O error
The 95th percentile is the highest source value left when the top 5% of a numerically sorted set of source data is discarded. It is used as a measure of the peak value used when one discounts a fair amount for transitory spikes. This makes it markedly different from the average.
Read more about this topic at:
Parameters: dsName Datasource name
Returns: 95th percentile of fetched source values
Throws: RrdException Thrown if invalid source name is supplied
Parameters: dsName Datasource name consolFun Consolidation function to be applied to fetched datasource values. Valid consolidation functions are "MIN", "MAX", "LAST", "FIRST", "AVERAGE" and "TOTAL" (these string constants are conveniently defined in the ConsolFuns class)
Returns: MIN, MAX, LAST, FIRST, AVERAGE or TOTAL value calculated from the fetched data for the given datasource name
Throws: RrdException Thrown if the given datasource name cannot be found in fetched data.
Deprecated: This method is preserved just for backward compatibility.
Returns aggregated value from the fetched data for a single datasource. Before applying aggregation functions, specified RPN expression is applied to fetched data. For example, if you have a gauge datasource named 'foots' but you want to find the maximum fetched value in meters use something like:
getAggregate("foots", "MAX", "foots,0.3048,*");
Parameters: dsName Datasource name consolFun Consolidation function (MIN, MAX, LAST, FIRST, AVERAGE or TOTAL) rpnExpression RRDTool-like RPN expression
Returns: Aggregated value
Throws: RrdException Thrown if the given datasource name cannot be found in fetched data, or if invalid RPN expression is supplied IOException Thrown in case of I/O error (unlikely to happen)
Parameters: dsName Datasource name.
Returns: Simple object containing all aggregated values.
Throws: RrdException Thrown if the given datasource name cannot be found in the fetched data.
Returns: Timestamp in seconds
Returns: Archive step in seconds
Returns: Number of columns (datasources).
Parameters: dsName Name of the datasource for which to find the index.
Returns: Index number of the datasources in the value table.
Returns: Array of datasource names.
Returns: The smallest timestamp.
Returns: The biggest timestamp.
Returns: Matching archive.
FetchRequest
object used to create this FetchData object.
Returns: Fetch request object.
Returns: Number of rows.
Parameters: rpnExpression RRDTool-like RPN expression
Returns: 95-percentile
Throws: RrdException Thrown if invalid RPN expression is supplied
x
and y
in this FetchData and you want to calculate MAX value of (x+y)/2 use something like:
getRpnAggregate("x,y,+,2,/", "MAX");
Parameters: rpnExpression RRDTool-like RPN expression consolFun Consolidation function (MIN, MAX, LAST, FIRST, AVERAGE or TOTAL)
Returns: Aggregated value
Throws: RrdException Thrown if invalid RPN expression is supplied
x
and y
in this FetchData and you want to calculate MIN, MAX, LAST, FIRST, AVERAGE and TOTAL value
of (x+y)/2 use something like:
getRpnAggregates("x,y,+,2,/");
Parameters: rpnExpression RRDTool-like RPN expression
Returns: Object containing all aggregated values
Throws: RrdException Thrown if invalid RPN expression is supplied
x
and y
in this FetchData and you want to calculate values for (x+y)/2 use something like:
getRpnValues("x,y,+,2,/");
Parameters: rpnExpression RRDTool-like RPN expression
Returns: Calculated values
Throws: RrdException Thrown if invalid RPN expression is supplied
Returns: Step as long.
FetchReguest
object.
Returns: Array of equidistant timestamps.
getTimestamps()
method.
Parameters: dsIndex Datasource index.
Returns: Array of single datasource values.
getTimestamps()
method.
Returns: Two-dimensional aray of all datasource values.
getTimestamps()
method.
Parameters: dsName Datasource name.
Returns: Array of single datasource values.
Throws: RrdException Thrown if no matching datasource name is found.
Returns: Fetched data as a string in a rrdfetch-like output form.