Package org.apache.lucene.misc.store

# Class ByteWritesTrackingDirectoryWrapper

java.lang.Object
org.apache.lucene.store.Directory
org.apache.lucene.store.FilterDirectory
org.apache.lucene.misc.store.ByteWritesTrackingDirectoryWrapper

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

public final class ByteWritesTrackingDirectoryWrapper extends FilterDirectory
`FilterDirectory` that tracks write amplification factor

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `final boolean`
  `trackTempOutput`

  ### Fields inherited from class org.apache.lucene.store.FilterDirectory

  `in`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ByteWritesTrackingDirectoryWrapper(Directory in)`
  `ByteWritesTrackingDirectoryWrapper(Directory in, boolean trackTempOutput)`
  Constructor with option to track tempOutput

- ## Method Summary

  Modifier and Type
  Method
  Description
  `IndexOutput`
  `createOutput(String name, IOContext ioContext)`
  `IndexOutput`
  `createTempOutput(String prefix, String suffix, IOContext ioContext)`
  `long`
  `getFlushedBytes()`
  `long`
  `getMergedBytes()`

  ### Methods inherited from class org.apache.lucene.store.FilterDirectory

  `close, deleteFile, ensureOpen, fileLength, getDelegate, getPendingDeletions, listAll, obtainLock, openInput, rename, sync, syncMetaData, toString, unwrap`

  ### Methods inherited from class org.apache.lucene.store.Directory

  `copyFrom, getTempFileName, openChecksumInput`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### trackTempOutput

    public final boolean trackTempOutput

- ## Constructor Details

  - ### ByteWritesTrackingDirectoryWrapper

    public ByteWritesTrackingDirectoryWrapper(Directory in)

  - ### ByteWritesTrackingDirectoryWrapper

    public ByteWritesTrackingDirectoryWrapper(Directory in, boolean trackTempOutput)
    Constructor with option to track tempOutput
    Parameters:
      `in` - input Directory
      `trackTempOutput` - if true, will also track temporary outputs created by this directory

- ## Method Details

  - ### createOutput

    public IndexOutput createOutput(String name, IOContext ioContext) throws IOException
    Overrides:
      `createOutput` in class `FilterDirectory`
    Throws:
      `IOException`

  - ### createTempOutput

    public IndexOutput createTempOutput(String prefix, String suffix, IOContext ioContext) throws IOException
    Overrides:
      `createTempOutput` in class `FilterDirectory`
    Throws:
      `IOException`

  - ### getFlushedBytes

    public long getFlushedBytes()

  - ### getMergedBytes

    public long getMergedBytes()