public class FetchData extends Object
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.
This data structure holds the fetched information.
| Constructor and Description |
|---|
FetchData(Archive matchingArchive,
FetchRequest request) |
| Modifier and Type | Method and Description |
|---|---|
String |
dump()
Dumps the content of the whole FetchData object.
|
String |
exportXml()
Dumps fetch data in XML format.
|
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.
|
void |
exportXml(XmlWriter writer) |
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[] |
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()
Returns all archived values for all datasources.
|
double[] |
getValues(int dsIndex)
Returns all archived values for a single datasource.
|
double[] |
getValues(String dsName)
Returns all archived values for a single datasource.
|
(package private) void |
setTimestamps(long[] timestamps)
Sets the timestamps for the fetched data.
|
(package private) void |
setValues(double[][] values)
Sets the values for the fetched data.
|
String |
toString()
Returns string representing fetched data in a RRDTool-like form.
|
FetchData(Archive matchingArchive, FetchRequest request) throws IOException
IOExceptionpublic String dump()
String containing the contents of this object, for debugging.public String exportXml()
public void exportXml(OutputStream outputStream)
outputStream - Output stream to dump fetch data topublic void exportXml(String filepath) throws IOException
filepath - Path to destination fileIOException - Thrown in case of I/O errorpublic void exportXml(XmlWriter writer)
public long getArcEndTime()
public long getArcStep()
public int getColumnCount()
public int getDsIndex(String dsName)
dsName - Name of the datasource for which to find the index.public String[] getDsNames()
public long getFirstTimestamp()
public long getLastTimestamp()
public Archive getMatchingArchive()
public FetchRequest getRequest()
FetchRequest object used to create this FetchData object.public int getRowCount()
public double[] getRpnValues(String rpnExpression)
x and y in this FetchData and you
want to calculate values for (x+y)/2 use something like:
getRpnValues("x,y,+,2,/");
rpnExpression - RRDTool-like RPN expressionIllegalArgumentException - Thrown if invalid RPN expression is suppliedpublic long getStep()
public long[] getTimestamps()
FetchReguest object.public double[][] getValues()
getTimestamps() method.public double[] getValues(int dsIndex)
getTimestamps() method.dsIndex - Datasource index.public double[] getValues(String dsName)
getTimestamps() method.dsName - Datasource name.void setTimestamps(long[] timestamps)
timestamps - array of timestampsvoid setValues(double[][] values)
values - 2D array of values