Package org.rrd4j.core.jrrd
Class RRDatabase
- java.lang.Object
-
- org.rrd4j.core.jrrd.RRDatabase
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
public class RRDatabase extends Object implements Closeable
Instances of this class model Round Robin Database (RRD) files.- Version:
- $Revision: 1.1 $
- Author:
- Ciaran Treanor
-
-
Constructor Summary
Constructors Constructor Description RRDatabase(File file)
Creates a database to read from.RRDatabase(String name)
Creates a database to read from.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Closes this database stream and releases any associated system resources.Archive
getArchive(int index)
Returns theArchive
at the specified position in this database.Archive
getArchive(String name)
getArchive.(package private) ArrayList<Archive>
getArchiveList(ConsolidationFunctionType type)
Iterator<Archive>
getArchives()
Returns an iterator over the archives in this database in proper sequence.Iterator<Archive>
getArchives(ConsolidationFunctionType type)
Returns an iterator over the archives in this database of the given type in proper sequence.DataChunk
getData(ConsolidationFunctionType type)
Returns data from the database corresponding to the given consolidation function and a step size of 1.DataChunk
getData(ConsolidationFunctionType type, long startTime, long endTime, long stepSeconds)
getData.DataChunk
getData(ConsolidationFunctionType type, Date startDate, Date endDate, long step)
Returns data from the database corresponding to the given consolidation function.DataSource
getDataSource(int index)
Returns theDataSource
at the specified position in this database.Iterator<DataSource>
getDataSources()
Returns an iterator over the data sources in this database in proper sequence.Set<String>
getDataSourcesName()
getDataSourcesName.Header
getHeader()
Returns theHeader
for this database.Date
getLastUpdate()
Returns the date this database was last updated.int
getNumArchives()
Returns the number of archives in this database.void
printInfo(PrintStream s)
Outputs the header information of the database to the given print stream using the default number format.void
printInfo(PrintStream s, NumberFormat numberFormat)
Outputs the header information of the database to the given print stream using the given number format.String
toString()
Returns a summary the contents of this database.void
toXml(PrintStream s)
Outputs the content of the database to the given print stream as a stream of XML.
-
-
-
Constructor Detail
-
RRDatabase
public RRDatabase(String name) throws IOException
Creates a database to read from.- Parameters:
name
- the filename of the file to read from.- Throws:
IOException
- if an I/O error occurs.
-
RRDatabase
public RRDatabase(File file) throws IOException
Creates a database to read from.- Parameters:
file
- the file to read from.- Throws:
IOException
- if an I/O error occurs.
-
-
Method Detail
-
getHeader
public Header getHeader()
Returns theHeader
for this database.- Returns:
- the
Header
for this database.
-
getDataSourcesName
public Set<String> getDataSourcesName()
getDataSourcesName.
- Returns:
- a
Set
object.
-
getLastUpdate
public Date getLastUpdate()
Returns the date this database was last updated. To convert this date to the form returned byrrdtool last
call Date.getTime() and divide the result by 1000.- Returns:
- the date this database was last updated.
-
getDataSource
public DataSource getDataSource(int index)
Returns theDataSource
at the specified position in this database.- Parameters:
index
- index ofDataSource
to return.- Returns:
- the
DataSource
at the specified position in this database
-
getDataSources
public Iterator<DataSource> getDataSources()
Returns an iterator over the data sources in this database in proper sequence.- Returns:
- an iterator over the data sources in this database in proper sequence.
-
getArchive
public Archive getArchive(int index)
Returns theArchive
at the specified position in this database.- Parameters:
index
- index ofArchive
to return.- Returns:
- the
Archive
at the specified position in this database.
-
getArchives
public Iterator<Archive> getArchives()
Returns an iterator over the archives in this database in proper sequence.- Returns:
- an iterator over the archives in this database in proper sequence.
-
getNumArchives
public int getNumArchives()
Returns the number of archives in this database.- Returns:
- the number of archives in this database.
-
getArchives
public Iterator<Archive> getArchives(ConsolidationFunctionType type)
Returns an iterator over the archives in this database of the given type in proper sequence.- Parameters:
type
- the consolidation function that should have been applied to the data.- Returns:
- an iterator over the archives in this database of the given type in proper sequence.
-
getArchiveList
ArrayList<Archive> getArchiveList(ConsolidationFunctionType type)
-
close
public void close() throws IOException
Closes this database stream and releases any associated system resources.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
- if an I/O error occurs.
-
printInfo
public void printInfo(PrintStream s)
Outputs the header information of the database to the given print stream using the default number format. The default format fordouble
is 0.0000000000E0.- Parameters:
s
- the PrintStream to print the header information to.
-
getData
public DataChunk getData(ConsolidationFunctionType type) throws IOException
Returns data from the database corresponding to the given consolidation function and a step size of 1.- Parameters:
type
- the consolidation function that should have been applied to the data.- Returns:
- the raw data.
- Throws:
IllegalArgumentException
- if there was a problem locating a data archive with the requested consolidation function.IOException
- if there was a problem reading data from the database.
-
getData
public DataChunk getData(ConsolidationFunctionType type, Date startDate, Date endDate, long step) throws IOException
Returns data from the database corresponding to the given consolidation function.- Parameters:
type
- the consolidation function that should have been applied to the data.step
- the step size to use.startDate
- aDate
object.endDate
- aDate
object.- Returns:
- the raw data.
- Throws:
IllegalArgumentException
- if there was a problem locating a data archive with the requested consolidation function.IOException
- if there was a problem reading data from the database.
-
getData
public DataChunk getData(ConsolidationFunctionType type, long startTime, long endTime, long stepSeconds) throws IOException
getData.
- Parameters:
type
- aConsolidationFunctionType
object.startTime
- seconds since epochendTime
- seconds since epochstepSeconds
- in seconds- Returns:
- a
DataChunk
object. - Throws:
IOException
- if any.
-
printInfo
public void printInfo(PrintStream s, NumberFormat numberFormat)
Outputs the header information of the database to the given print stream using the given number format. The format is almost identical to that produced by rrdtool info- Parameters:
s
- the PrintStream to print the header information to.numberFormat
- the format to printdouble
s as.
-
toXml
public void toXml(PrintStream s)
Outputs the content of the database to the given print stream as a stream of XML. The XML format is almost identical to that produced by rrdtool dump A flush is issued at the end of the XML generation, so auto flush of the PrintStream can be set to false- Parameters:
s
- the PrintStream to send the XML to.
-
-