Class NullRrdStrategy

  • All Implemented Interfaces:
    RrdStrategy<java.lang.Object,​java.lang.Object>

    public class NullRrdStrategy
    extends java.lang.Object
    implements RrdStrategy<java.lang.Object,​java.lang.Object>
    A RrdStrategy implementation that does nothing. Used in cases where an instance of RrdStrategy is required but no implementations are available.
    • Constructor Summary

      Constructors 
      Constructor Description
      NullRrdStrategy()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void closeFile​(java.lang.Object rrd)
      This closes the supplied round robin database
      java.lang.Object createDefinition​(java.lang.String creator, java.lang.String directory, java.lang.String rrdName, int step, java.util.List<RrdDataSource> dataSources, java.util.List<java.lang.String> rraList)
      Create a round robin database definition from the supplied parameters.
      void createFile​(java.lang.Object rrdDef)
      Creates the round robin database defined by the supplied definition.
      java.io.InputStream createGraph​(java.lang.String command, java.io.File workDir)
      Creates an InputStream representing the bytes of a graph created from round robin data.
      RrdGraphDetails createGraphReturnDetails​(java.lang.String command, java.io.File workDir)
      Creates an RrdGraphDetails object representing the graph created from round robin data.
      java.lang.Double fetchLastValue​(java.lang.String rrdFile, java.lang.String ds, int interval)
      Fetches the last value from the round robin database with the given name.
      java.lang.Double fetchLastValue​(java.lang.String rrdFile, java.lang.String ds, java.lang.String consolidationFunction, int interval)
      Fetches the last value from the round robin database with the given name.
      java.lang.Double fetchLastValueInRange​(java.lang.String rrdFile, java.lang.String ds, int interval, int range)
      Fetches the last value from the round robin database with the given name within a time range.
      java.lang.String getDefaultFileExtension()
      Get the file extension appropriate for files of this type
      int getGraphLeftOffset()
      Returns the number of pixels that the leftt-hand side of the graph is offset from the left side of the created image.
      int getGraphRightOffset()
      Returns the number of pixels that the right-hand side of the graph is offset from the right side of the created image.
      int getGraphTopOffsetWithText()
      Returns the number of pixels that the top of the graph is offset from the top of the created image if there is single line of header text.
      java.lang.String getStats()
      Provides the round robin database an opportunity to contribute statistics information to the logs file.
      java.lang.Object openFile​(java.lang.String fileName)
      Opens the round robin database with the supplied name.
      void promoteEnqueuedFiles​(java.util.Collection<java.lang.String> rrdFiles)
      In the event that this is a queuing implementation of the RrdStrategy.
      void setConfigurationProperties​(java.util.Properties configurationParameters)
      setConfigurationProperties
      void updateFile​(java.lang.Object rrd, java.lang.String owner, java.lang.String data)
      Updates the supplied round robin database with the given timestamp:value point
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • NullRrdStrategy

        public NullRrdStrategy()
    • Method Detail

      • setConfigurationProperties

        public void setConfigurationProperties​(java.util.Properties configurationParameters)
        Description copied from interface: RrdStrategy

        setConfigurationProperties

        Specified by:
        setConfigurationProperties in interface RrdStrategy<java.lang.Object,​java.lang.Object>
        Parameters:
        configurationParameters - a Properties object.
      • closeFile

        public void closeFile​(java.lang.Object rrd)
        Description copied from interface: RrdStrategy
        This closes the supplied round robin database
        Specified by:
        closeFile in interface RrdStrategy<java.lang.Object,​java.lang.Object>
        Parameters:
        rrd - an rrd object created using openFile
      • createDefinition

        public java.lang.Object createDefinition​(java.lang.String creator,
                                                 java.lang.String directory,
                                                 java.lang.String rrdName,
                                                 int step,
                                                 java.util.List<RrdDataSource> dataSources,
                                                 java.util.List<java.lang.String> rraList)
        Description copied from interface: RrdStrategy
        Create a round robin database definition from the supplied parameters. This definition is used in the createFile call to create the actual file.
        Specified by:
        createDefinition in interface RrdStrategy<java.lang.Object,​java.lang.Object>
        Parameters:
        creator - - A string representing who is creating this file for use in log msgs
        directory - - The directory to create the file in
        rrdName - - The name to use for the round robin database
        step - - the step for the database
        dataSources - - the data sources to use for round robin database
        rraList - - a List of the round robin archives to create in the database. defines after which time the data is condensed to a defined lower step
        Returns:
        an object representing the definition of an round robin database. Can be null if the database exists already.
      • createFile

        public void createFile​(java.lang.Object rrdDef)
        Description copied from interface: RrdStrategy
        Creates the round robin database defined by the supplied definition. Should be able to handle rrdDef being null.
        Specified by:
        createFile in interface RrdStrategy<java.lang.Object,​java.lang.Object>
        Parameters:
        rrdDef - an round robin database definition created using the createDefinition call.
      • createGraph

        public java.io.InputStream createGraph​(java.lang.String command,
                                               java.io.File workDir)
        Description copied from interface: RrdStrategy
        Creates an InputStream representing the bytes of a graph created from round robin data. It accepts an rrdtool graph command. The underlying implementation converts this command to a format appropriate for it .
        Specified by:
        createGraph in interface RrdStrategy<java.lang.Object,​java.lang.Object>
        Parameters:
        command - the command needed to create the graph
        workDir - the directory that all referenced files are relative to
        Returns:
        an input stream representing the bytes of a graph image as a PNG file
      • createGraphReturnDetails

        public RrdGraphDetails createGraphReturnDetails​(java.lang.String command,
                                                        java.io.File workDir)
        Description copied from interface: RrdStrategy
        Creates an RrdGraphDetails object representing the graph created from round robin data. It accepts an rrdtool graph command. The underlying implementation converts this command to a format appropriate for it .
        Specified by:
        createGraphReturnDetails in interface RrdStrategy<java.lang.Object,​java.lang.Object>
        Parameters:
        command - the command needed to create the graph
        workDir - the directory that all referenced files are relative to
        Returns:
        details for the graph including an InputStream, any PRINTed lines, and graph dimensions.
      • fetchLastValue

        public java.lang.Double fetchLastValue​(java.lang.String rrdFile,
                                               java.lang.String ds,
                                               int interval)
        Description copied from interface: RrdStrategy
        Fetches the last value from the round robin database with the given name. The interval passed in should be the interval associated with the round robin database.
        Specified by:
        fetchLastValue in interface RrdStrategy<java.lang.Object,​java.lang.Object>
        Parameters:
        rrdFile - a name the represents a round robin database
        ds - a name the represents a data source to be used
        interval - a step interval of the round robin database
        Returns:
        The last value as a Double (if the last value didn't exist returns a Double.NaN)
      • fetchLastValueInRange

        public java.lang.Double fetchLastValueInRange​(java.lang.String rrdFile,
                                                      java.lang.String ds,
                                                      int interval,
                                                      int range)
        Description copied from interface: RrdStrategy
        Fetches the last value from the round robin database with the given name within a time range. The interval passed in should be the interval associated with the round robin database. The range should be the amount of "lag" acceptable for an update to be considered valid. Range must be a multiple of the RRD interval.
        Specified by:
        fetchLastValueInRange in interface RrdStrategy<java.lang.Object,​java.lang.Object>
        Parameters:
        rrdFile - a name the represents a round robin database
        ds - a name the represents a data source to be used
        interval - a step interval of the round robin database
        range - an acceptable range for which the last value will be returned
        Returns:
        The last value as a Double (if the last value didn't exist returns a Double.NaN)
      • getStats

        public java.lang.String getStats()
        Description copied from interface: RrdStrategy
        Provides the round robin database an opportunity to contribute statistics information to the logs file.
        Specified by:
        getStats in interface RrdStrategy<java.lang.Object,​java.lang.Object>
        Returns:
        a non-null string representing any statistics to be included in the logs
      • openFile

        public java.lang.Object openFile​(java.lang.String fileName)
        Description copied from interface: RrdStrategy
        Opens the round robin database with the supplied name. It is assumed the name refers to a round robin database appropriate for this strategy implementation
        Specified by:
        openFile in interface RrdStrategy<java.lang.Object,​java.lang.Object>
        Parameters:
        fileName - the name of the associated rrd file
        Returns:
        an open rrd reference that can by used in calls to updateFile and closeFile
      • updateFile

        public void updateFile​(java.lang.Object rrd,
                               java.lang.String owner,
                               java.lang.String data)
        Description copied from interface: RrdStrategy
        Updates the supplied round robin database with the given timestamp:value point
        Specified by:
        updateFile in interface RrdStrategy<java.lang.Object,​java.lang.Object>
        Parameters:
        rrd - an rrd object created using openFile
        owner - the owner of the rrd
        data - a string of the form :
      • getGraphLeftOffset

        public int getGraphLeftOffset()
        Description copied from interface: RrdStrategy
        Returns the number of pixels that the leftt-hand side of the graph is offset from the left side of the created image. The offset should always be positive.
        Specified by:
        getGraphLeftOffset in interface RrdStrategy<java.lang.Object,​java.lang.Object>
        Returns:
        offset in pixels. Should always be positive.
      • getGraphRightOffset

        public int getGraphRightOffset()
        Description copied from interface: RrdStrategy
        Returns the number of pixels that the right-hand side of the graph is offset from the right side of the created image. The offset should always be negative.
        Specified by:
        getGraphRightOffset in interface RrdStrategy<java.lang.Object,​java.lang.Object>
        Returns:
        offset in pixels. Should always be negative.
      • getGraphTopOffsetWithText

        public int getGraphTopOffsetWithText()
        Description copied from interface: RrdStrategy
        Returns the number of pixels that the top of the graph is offset from the top of the created image if there is single line of header text. The offset should always be negative.
        Specified by:
        getGraphTopOffsetWithText in interface RrdStrategy<java.lang.Object,​java.lang.Object>
        Returns:
        offset in pixels. Should always be negative.
      • getDefaultFileExtension

        public java.lang.String getDefaultFileExtension()
        Description copied from interface: RrdStrategy
        Get the file extension appropriate for files of this type
        Specified by:
        getDefaultFileExtension in interface RrdStrategy<java.lang.Object,​java.lang.Object>
        Returns:
        a String object.
      • fetchLastValue

        public java.lang.Double fetchLastValue​(java.lang.String rrdFile,
                                               java.lang.String ds,
                                               java.lang.String consolidationFunction,
                                               int interval)
        Description copied from interface: RrdStrategy
        Fetches the last value from the round robin database with the given name. The interval passed in should be the interval associated with the round robin database.
        Specified by:
        fetchLastValue in interface RrdStrategy<java.lang.Object,​java.lang.Object>
        Parameters:
        rrdFile - a name the represents a round robin database
        ds - a name the represents a data source to be used
        consolidationFunction - a String object.
        interval - a step interval of the round robin database
        Returns:
        The last value as a Double (if the last value didn't exist returns a Double.NaN)
      • promoteEnqueuedFiles

        public void promoteEnqueuedFiles​(java.util.Collection<java.lang.String> rrdFiles)
        Description copied from interface: RrdStrategy
        In the event that this is a queuing implementation of the RrdStrategy. This method causes all queued but not yet written data to be to the rrd files as soon as possible.
        Specified by:
        promoteEnqueuedFiles in interface RrdStrategy<java.lang.Object,​java.lang.Object>
        Parameters:
        rrdFiles - a Collection object.