Class FetchRequest


  • public class FetchRequest
    extends Object
    Class to represent fetch request. For the complete explanation of all fetch parameters consult RRDTool's rrdfetch man page.

    You cannot create FetchRequest directly (no public constructor is provided). Use createFetchRequest() method of your RrdDb object.

    Author:
    Sasa Markovic
    • Constructor Detail

      • FetchRequest

        FetchRequest​(RrdDb parentDb,
                     ConsolFun consolFun,
                     long fetchStart,
                     long fetchEnd,
                     long resolution)
    • Method Detail

      • setFilter

        public void setFilter​(String... filter)
        Sets request filter in order to fetch data only for the specified array of datasources (datasource names). If not set (or set to null), fetched data will contain values of all datasources defined in the corresponding RRD. To fetch data only from selected datasources, specify an array of datasource names as method argument.
        Parameters:
        filter - Array of datasources (datasource names) to fetch data from.
      • setFilter

        public void setFilter​(Set<String> filter)
        Sets request filter in order to fetch data only for the specified set of datasources (datasource names). If the filter is not set (or set to null), fetched data will contain values of all datasources defined in the corresponding RRD. To fetch data only from selected datasources, specify a set of datasource names as method argument.
        Parameters:
        filter - Set of datasource names to fetch data for.
      • setFilter

        public void setFilter​(String filter)
        Sets request filter in order to fetch data only for a single datasource (datasource name). If not set (or set to null), fetched data will contain values of all datasources defined in the corresponding RRD. To fetch data for a single datasource only, specify an array of datasource names as method argument.
        Parameters:
        filter - A single datasource (datasource name) to fetch data from.
      • getFilter

        public String[] getFilter()
        Returns request filter. See setFilter() for complete explanation.
        Returns:
        Request filter (array of datasource names), null if not set.
      • getConsolFun

        public ConsolFun getConsolFun()
        Returns consolidation function to be used during the fetch process.
        Returns:
        Consolidation function.
      • getFetchStart

        public long getFetchStart()
        Returns starting timestamp to be used for the fetch request.
        Returns:
        Starting timestamp in seconds.
      • getFetchEnd

        public long getFetchEnd()
        Returns ending timestamp to be used for the fetch request.
        Returns:
        Ending timestamp in seconds.
      • getResolution

        public long getResolution()
        Returns fetch resolution to be used for the fetch request.
        Returns:
        Fetch resolution in seconds.
      • dump

        public String dump()
        Dumps the content of fetch request using the syntax of RRDTool's fetch command.
        Returns:
        Fetch request dump.
      • getRrdToolCommand

        String getRrdToolCommand()
      • fetchData

        public FetchData fetchData()
                            throws IOException
        Returns data from the underlying RRD and puts it in a single FetchData object.
        Returns:
        FetchData object filled with timestamps and datasource values.
        Throws:
        IOException - Thrown in case of I/O error.
      • getParentDb

        public RrdDb getParentDb()
        Returns the underlying RrdDb object.
        Returns:
        RrdDb object used to create this FetchRequest object.