Class ContentItemsSource

java.lang.Object
org.apache.lucene.benchmark.byTask.feeds.ContentItemsSource
All Implemented Interfaces:
Closeable, AutoCloseable
Direct Known Subclasses:
ContentSource, FacetSource

public abstract class ContentItemsSource extends Object implements Closeable
Base class for source of data for benchmarking

Keeps track of various statistics, such as how many data items were generated, size in bytes etc.

Supports the following configuration parameters:

  • content.source.forever - specifies whether to generate items forever (default=true).
  • content.source.verbose - specifies whether messages should be output by the content source (default=false).
  • content.source.encoding - specifies which encoding to use when reading the files of that content source. Certain implementations may define a default value if this parameter is not specified. (default=null).
  • content.source.log.step - specifies for how many items a message should be logged. If set to 0 it means no logging should occur. NOTE: if verbose is set to false, logging should not occur even if logStep is not 0 (default=0).
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected String
     
    protected boolean
     
    protected int
     
    protected boolean
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected final void
    addBytes(long numBytes)
    update count of bytes generated by this source
    protected final void
    update count of items generated by this source
    abstract void
    Called when reading from this content source is no longer required.
    protected final void
    A convenience method for collecting all the files of a content source from a given directory.
    final long
    Returns the number of bytes generated since last reset.
    final Config
     
    final int
    Returns the number of generated items since last reset.
    final long
    Returns the total number of bytes that were generated by this source.
    final int
    Returns the total number of generated items.
    void
     
    void
    Resets the input for this content source, so that the test would behave as if it was just started, input-wise.
    void
    setConfig(Config config)
    Sets the Config for this content source.
    protected final boolean
    Returns true whether it's time to log a message (depending on verbose and the number of items generated).

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • forever

      protected boolean forever
    • logStep

      protected int logStep
    • verbose

      protected boolean verbose
    • encoding

      protected String encoding
  • Constructor Details

    • ContentItemsSource

      public ContentItemsSource()
  • Method Details

    • addBytes

      protected final void addBytes(long numBytes)
      update count of bytes generated by this source
    • addItem

      protected final void addItem()
      update count of items generated by this source
    • collectFiles

      protected final void collectFiles(Path dir, ArrayList<Path> files) throws IOException
      A convenience method for collecting all the files of a content source from a given directory. The collected Path instances are stored in the given files.
      Throws:
      IOException
    • shouldLog

      protected final boolean shouldLog()
      Returns true whether it's time to log a message (depending on verbose and the number of items generated).
    • close

      public abstract void close() throws IOException
      Called when reading from this content source is no longer required.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException
    • getBytesCount

      public final long getBytesCount()
      Returns the number of bytes generated since last reset.
    • getItemsCount

      public final int getItemsCount()
      Returns the number of generated items since last reset.
    • getConfig

      public final Config getConfig()
    • getTotalBytesCount

      public final long getTotalBytesCount()
      Returns the total number of bytes that were generated by this source.
    • getTotalItemsCount

      public final int getTotalItemsCount()
      Returns the total number of generated items.
    • resetInputs

      public void resetInputs() throws IOException
      Resets the input for this content source, so that the test would behave as if it was just started, input-wise.

      NOTE: the default implementation resets the number of bytes and items generated since the last reset, so it's important to call super.resetInputs in case you override this method.

      Throws:
      IOException
    • setConfig

      public void setConfig(Config config)
      Sets the Config for this content source. If you override this method, you must call super.setConfig.
    • printStatistics

      public void printStatistics(String itemsName)