EnvironmentStats (Oracle - Berkeley DB Java Edition API)
Date: 2014-12-16

com.sleepycat.je

## Class EnvironmentStats

- java.lang.Object
- - com.sleepycat.je.EnvironmentStats

- All Implemented Interfaces:
    Serializable

      public class EnvironmentStats
      extends Object
      implements Serializable

  Statistics for a single environment.

  The statistics are logically grouped into several categories. Viewing the statistics through `toString()` displays the values in these categories, as does viewing the stats through the JEMonitor mbean. Viewing the stats with `toStringVerbose()` will provide more detailed descriptions of the stats and stat categories.

  The current categories are:

  - IO: Log file opens, reads, writes, cache misses.
  - Cache: Data, keys, internal btree nodes, locks and JE metadata reside in the cache. If the cache is too full, nodes, data and keys are periodically evicted to stay within the defined cache size.
  - Log Cleaning: Maintenance of JE's append only storage system. See this overview of the logging system. Log files are removed as their contents become obsolete.
  - Node Compression: Internal btree nodes are compressed and removed when their contents become sparse.
  - Checkpoints: The frequency and extent of checkpointing activity.
  - Environment: Miscellaneous environment wide statistics.
  - Locks: Number of locking operations, contention on lock table.
  See Also:
    Viewing Statistics with JConsole, Serialized Form

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `long` | `getAdminBytes()` The number of bytes of JE cache used for log cleaning metadata and other administrative structures.
    `long` | `getAvgBatchCacheMode()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getAvgBatchCritical()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getAvgBatchDaemon()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getAvgBatchEvictorThread()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getAvgBatchManual()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getBufferBytes()` The total memory currently consumed by log buffers, in bytes.
    `long` | `getCacheDataBytes()` Deprecated. Please use `getDataBytes()` to get the amount of cache used for data and use `getAdminBytes()`, `getLockBytes()` and `getBufferBytes()` to get other components of the total cache usage (`getCacheTotalBytes()`).
    `long` | `getCacheTotalBytes()` The total amount of JE cache in use, in bytes.
    `int` | `getCleanerBacklog()` The number of files to be cleaned to reach the target utilization.
    `float` | `getCorrectedAvgLNSize()` Deprecated. in JE 5.0.56, use `getCorrectedAvgLNSize()` instead.
    `long` | `getCursorsBins()` The number of BINs encountered by the INCompressor that had cursors referring to them when the compressor ran.
    `long` | `getDataAdminBytes()` The portion of data bytes (`getDataBytes()`) in the cache that are allocated for per-database cleaner utilization metadata.
    `long` | `getDataBytes()` The amount of JE cache used for holding data, keys and internal Btree nodes, in bytes.
    `long` | `getDbClosedBins()` The number of BINs encountered by the INCompressor that had their database closed between the time they were put on the compressor queue and when the compressor ran.
    `long` | `getEndOfLog()` The location of the next entry to be written to the log.
    `long` | `getEnvironmentCreationTime()` The time the Environment was created.
    `float` | `getEstimatedAvgLNSize()` Deprecated. in JE 5.0.56, use `getCorrectedAvgLNSize()` instead.
    `int` | `getFileDeletionBacklog()` The number of log files that are ready to be deleted.
    `long` | `getInCompQueueSize()` The number of entries in the INCompressor queue when the getStats() call was made.
    `long` | `getLastCheckpointEnd()` The location in the log of the last checkpoint end.
    `long` | `getLastCheckpointId()` The Id of the last checkpoint.
    `long` | `getLastCheckpointInterval()` Byte length from last checkpoint start to the previous checkpoint start.
    `long` | `getLastCheckpointStart()` The location in the log of the last checkpoint start.
    `int` | `getLastKnownUtilization()` The last known log utilization as a percentage.
    `float` | `getLNSizeCorrectionFactor()` The factor used to correct average LN size, for LNs whose obsolete size is unknown.
    `long` | `getLockBytes()` The number of bytes of JE cache used for holding locks and transactions.
    `int` | `getNAcquiresNoWaiters()` Number of acquires of lock table latch with no contention.
    `int` | `getNAcquiresNoWaitSuccessful()` Number of successful no-wait acquires of the lock table latch.
    `int` | `getNAcquiresNoWaitUnSuccessful()` Number of unsuccessful no-wait acquires of the lock table latch.
    `int` | `getNAcquiresSelfOwned()` Number of acquires of lock table latch when it was already owned by the caller.
    `int` | `getNAcquiresWithContention()` Number of acquires of lock table latch when it was already owned by another thread.
    `long` | `getNBatchesCacheMode()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getNBatchesCritical()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getNBatchesDaemon()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getNBatchesEvictorThread()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getNBatchesManual()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getNBINDeltaBlindOps()` The number of operations performed blindly in BIN deltas
    `long` | `getNBinDeltaDeleteOps()` The number of user (non-internal) Cursor and Database delete operations performed in BIN deltas.
    `long` | `getNBinDeltaGetOps()` The number of user (non-internal) Cursor and Database get operations performed in BIN deltas.
    `long` | `getNBinDeltaInsertOps()` The number of user (non-internal) Cursor and Database insert operations performed in BIN deltas (these are insertions performed via the various put methods).
    `long` | `getNBINDeltasCleaned()` The accumulated number of BIN-deltas cleaned.
    `long` | `getNBINDeltasDead()` The accumulated number of BIN-deltas that were not found in the tree anymore (deleted).
    `long` | `getNBINDeltasFetchMiss()` Number of BIN-deltas (partial BINS) fetched to satisfy btree operations.
    `long` | `getNBINDeltasMigrated()` The accumulated number of BIN-deltas migrated.
    `long` | `getNBINDeltasObsolete()` The accumulated number of BIN-deltas obsolete.
    `long` | `getNBinDeltaUpdateOps()` The number of user (non-internal) Cursor and Database update operations performed in BIN deltas (these are updates performed via the various put methods).
    `long` | `getNBINsEvictedCacheMode()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getNBINsEvictedCritical()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getNBINsEvictedDaemon()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getNBINsEvictedEvictorThread()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getNBINsEvictedManual()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getNBINsFetch()` Number of BINs (bottom internal nodes) requested by btree operations.
    `long` | `getNBINsFetchMiss()` Number of full BINs (bottom internal nodes) and BIN deltas fetched to satisfy btree operations.
    `float` | `getNBINsFetchMissRatio()` The ratio between the number of BINs (full or deltas) fetched to satisfy btree operations and the number of BINs requested by btree operations.
    `long` | `getNBINsMutated()` Deprecated. Use getNNodesMutated() instead.
    `long` | `getNBINsStripped()` Deprecated. Use getNNodesStripped() instead.
    `long` | `getNBytesEvictedCacheMode()` Number of bytes evicted in the course of executing operations that use an explicitly set `CacheMode`.
    `long` | `getNBytesEvictedCritical()` Number of bytes evicted in the course of executing operations that will cause the cache to go over budget.
    `long` | `getNBytesEvictedDeamon()` Number of bytes evicted by JE deamon threads.
    `long` | `getNBytesEvictedEvictorThread()` Number of bytes evicted by evictor pool threads.
    `long` | `getNBytesEvictedManual()` Number of bytes evicted by the `Environment.evictMemory()` method, which is called during Environment startup, or by application code.
    `long` | `getNBytesReadFromWriteQueue()` The number of bytes read to fulfill file read operations by reading out of the pending write queue.
    `long` | `getNBytesWrittenFromWriteQueue()` The number of bytes written from the pending write queue.
    `long` | `getNCachedBINDeltas()` Number of BIN-deltas (partial BINs) in cache.
    `long` | `getNCachedBINs()` Number of BINs (bottom internal nodes) in cache.
    `long` | `getNCachedUpperINs()` Number of INs (internal nodes) in cache.
    `long` | `getNCacheMiss()` The total number of requests for database objects which were not in memory.
    `long` | `getNCheckpoints()` The total number of checkpoints run so far.
    `long` | `getNCleanerDeletions()` The number of cleaner file deletions this session.
    `long` | `getNCleanerEntriesRead()` The accumulated number of log entries read by the cleaner.
    `long` | `getNCleanerProbeRuns()` Number of cleaner runs for probing utilization.
    `long` | `getNCleanerRuns()` Number of cleaner runs, including probe runs.
    `long` | `getNClusterLNsProcessed()` The accumulated number of LNs processed because they qualify for clustering.
    `long` | `getNDeltaINFlush()` The accumulated number of Delta INs flushed to the log.
    `long` | `getNEvictionRuns()` Number of eviction runs, an indicator of the eviction activity level.
    `long` | `getNEvictPasses()` Deprecated. Use getNEvictionRuns() instead.
    `int` | `getNFileOpens()` The number of times a log file has been opened.
    `long` | `getNFSyncRequests()` The number of fsyncs requested through the group commit manager.
    `long` | `getNFSyncs()` The number of fsyncs issued through the group commit manager.
    `long` | `getNFSyncTimeouts()` The number of fsync requests submitted to the group commit manager which timed out.
    `long` | `getNFullBINFlush()` The accumulated number of full BINs flushed to the log.
    `long` | `getNFullBINsMiss()` Number of times a BIN-delta had to be mutated to a full BIN (and as a result a full BIN had to be read in from the log).
    `long` | `getNFullINFlush()` The accumulated number of full INs flushed to the log.
    `long` | `getNINCompactKeyIN()` Number of INs that use a compact key representation to minimize the key object representation overhead.
    `long` | `getNINNoTarget()` Number of INs that use a compact representation when none of its child nodes are in the cache.
    `long` | `getNINsCleaned()` The accumulated number of INs cleaned.
    `long` | `getNINsDead()` The accumulated number of INs that were not found in the tree anymore (deleted).
    `long` | `getNINsMigrated()` The accumulated number of INs migrated.
    `long` | `getNINsObsolete()` The accumulated number of INs obsolete.
    `long` | `getNINSparseTarget()` Number of INs that use a compact sparse array representation to point to child nodes in the cache.
    `long` | `getNLNQueueHits()` The accumulated number of LNs processed without a tree lookup.
    `long` | `getNLNsCleaned()` The accumulated number of LNs cleaned.
    `long` | `getNLNsDead()` The accumulated number of LNs that were not found in the tree anymore (deleted).
    `long` | `getNLNsEvicted()` Number of LNs evicted as a result of BIN stripping
    `long` | `getNLNsFetch()` Number of LNs (data records) requested by btree operations.
    `long` | `getNLNsFetchMiss()` Number of LNs (data records) requested by btree operations that were not in cache.
    `long` | `getNLNsLocked()` The accumulated number of LNs encountered that were locked.
    `long` | `getNLNsMarked()` The accumulated number of LNs in temporary DBs that were dirtied by the cleaner and subsequently logging during checkpoint/eviction.
    `long` | `getNLNsMigrated()` The accumulated number of LNs encountered that were migrated forward in the log by the cleaner.
    `long` | `getNLNsObsolete()` The accumulated number of LNs obsolete.
    `int` | `getNLogBuffers()` The number of log buffers currently instantiated.
    `long` | `getNLogFSyncs()` The total number of fsyncs of the JE log.
    `long` | `getNMarkedLNsProcessed()` The accumulated number of LNs processed because they were previously marked for migration.
    `long` | `getNNodesEvicted()` Number of nodes evicted.
    `long` | `getNNodesExplicitlyEvicted()` Deprecated. Use getNNodesEvicted() instead.
    `long` | `getNNodesMovedToDirtyLRU()` Number of nodes moved from the "mixed" to the dirty LRU.
    `long` | `getNNodesMutated()` Number of BINs mutated to BIN-deltas by eviction.
    `long` | `getNNodesPutBack()` Number of nodes back into the LRU without any action taken on them.
    `long` | `getNNodesScanned()` Deprecated. This statistic has no meaning after the implementation of the new evictor in JE 6.0. The method returns 0 always.
    `long` | `getNNodesSelected()` Deprecated. Use getNNodesTargeted() instead.
    `long` | `getNNodesSkipped()` Number of nodes removed from the LRU without any action taken on them.
    `long` | `getNNodesStripped()` Number of BINs whose child LNs were evicted (stripped).
    `long` | `getNNodesTargeted()` Number of nodes selected as eviction targets.
    `long` | `getNNotResident()` The number of requests for database objects not contained within the in memory data structures.
    `long` | `getNonEmptyBins()` The number of BINs encountered by the INCompressor that were not actually empty when the compressor ran.
    `int` | `getNOpenFiles()` The number of files currently open in the file cache.
    `int` | `getNOwners()` Total lock owners in lock table.
    `long` | `getNPendingLNsLocked()` The accumulated number of pending LNs that could not be locked for migration because of a long duration application lock.
    `long` | `getNPendingLNsProcessed()` The accumulated number of LNs processed because they were previously locked.
    `long` | `getNRandomReadBytes()` The number of bytes read which required repositioning the disk head more than 1MB from the previous file position.
    `long` | `getNRandomReads()` The number of disk reads which required repositioning the disk head more than 1MB from the previous file position.
    `long` | `getNRandomWriteBytes()` The number of bytes written which required repositioning the disk head more than 1MB from the previous file position.
    `long` | `getNRandomWrites()` The number of disk writes which required repositioning the disk head by more than 1MB from the previous file position.
    `int` | `getNReadLocks()` Total read locks currently held.
    `long` | `getNReadsFromWriteQueue()` The number of file read operations which were fulfilled by reading out of the pending write queue.
    `int` | `getNReleases()` Number of releases of the lock table latch.
    `long` | `getNRepeatFaultReads()` The number of reads which had to be repeated when faulting in an object from disk because the read chunk size controlled by je.log.faultReadSize is too small.
    `long` | `getNRepeatIteratorReads()` The number of times we tried to read a log entry larger than the read buffer size and couldn't grow the log buffer to accommodate the large object.
    `long` | `getNRequests()` Total number of lock requests to date.
    `long` | `getNRootNodesEvicted()` Number of database root nodes evicted.
    `long` | `getNSequentialReadBytes()` The number of bytes read which did not require repositioning the disk head more than 1MB from the previous file position.
    `long` | `getNSequentialReads()` The number of disk reads which did not require repositioning the disk head more than 1MB from the previous file position.
    `long` | `getNSequentialWriteBytes()` The number of bytes written which did not require repositioning the disk head more than 1MB from the previous file position.
    `long` | `getNSequentialWrites()` The number of disk writes which did not require repositioning the disk head by more than 1MB from the previous file position.
    `int` | `getNSharedCacheEnvironments()` The number of environments using the shared cache.
    `long` | `getNTempBufferWrites()` The number of writes which had to be completed using the temporary marshalling buffer because the fixed size log buffers specified by je.log.totalBufferBytes and je.log.numBuffers were not large enough.
    `long` | `getNThreadUnavailable()` Number of eviction tasks that were submitted to the background evictor pool, but were refused because all eviction threads were busy.
    `long` | `getNToBeCleanedLNsProcessed()` The accumulated number of LNs processed because they are soon to be cleaned.
    `int` | `getNTotalLocks()` Total locks currently in lock table.
    `long` | `getNUpperINsEvictedCacheMode()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getNUpperINsEvictedCritical()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getNUpperINsEvictedDaemon()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getNUpperINsEvictedEvictorThread()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getNUpperINsEvictedManual()` Deprecated. This statistic has been removed. The method returns 0 always.
    `long` | `getNUpperINsFetch()` Number of upper INs (non bottom internal nodes) requested by btree operations.
    `long` | `getNUpperINsFetchMiss()` Number of upper INs (non-bottom internal nodes) requested by btree operations that were not in cache.
    `int` | `getNWaiters()` Total transactions waiting for locks.
    `long` | `getNWaits()` Total number of lock waits to date.
    `int` | `getNWriteLocks()` Total write locks currently held.
    `long` | `getNWriteQueueOverflow()` The number of writes operations which would overflow the Write Queue.
    `long` | `getNWriteQueueOverflowFailures()` The number of writes operations which would overflow the Write Queue and could not be queued.
    `long` | `getNWritesFromWriteQueue()` The number of file writes operations executed from the pending write queue.
    `int` | `getPendingLNQueueSize()` The number of LNs pending because they were locked and could not be migrated.
    `long` | `getProcessedBins()` The number of BINs that were successfully processed by the IN Compressor.
    `long` | `getRelatchesRequired()` Returns the number of latch upgrades (relatches) required while operating on this Environment.
    `long` | `getRequiredEvictBytes()` Deprecated. The method returns 0 always.
    `long` | `getSharedCacheTotalBytes()` The total amount of the shared JE cache in use, in bytes.
    `long` | `getSplitBins()` The number of BINs encountered by the INCompressor that were split between the time they were put on the compressor queue and when the compressor ran.
    `long` | `getTotalLogSize()` An approximation of the current total log size in bytes.
    `String` | `toString()` Returns a String representation of the stats in the form of <stat>=<value>
    `String` | `toStringVerbose()` Returns a String representation of the stats which includes stats descriptions in addition to <stat>=<value>

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

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

- - ### Method Detail

    - #### getCursorsBins

          public long getCursorsBins()

      The number of BINs encountered by the INCompressor that had cursors referring to them when the compressor ran.

    - #### getEnvironmentCreationTime

          public long getEnvironmentCreationTime()

      The time the Environment was created.

    - #### getDbClosedBins

          public long getDbClosedBins()

      The number of BINs encountered by the INCompressor that had their database closed between the time they were put on the compressor queue and when the compressor ran.

    - #### getInCompQueueSize

          public long getInCompQueueSize()

      The number of entries in the INCompressor queue when the getStats() call was made.

    - #### getNonEmptyBins

          public long getNonEmptyBins()

      The number of BINs encountered by the INCompressor that were not actually empty when the compressor ran.

    - #### getProcessedBins

          public long getProcessedBins()

      The number of BINs that were successfully processed by the IN Compressor.

    - #### getSplitBins

          public long getSplitBins()

      The number of BINs encountered by the INCompressor that were split between the time they were put on the compressor queue and when the compressor ran.

    - #### getLastCheckpointId

          public long getLastCheckpointId()

      The Id of the last checkpoint.

    - #### getNCheckpoints

          public long getNCheckpoints()

      The total number of checkpoints run so far.

    - #### getNFullINFlush

          public long getNFullINFlush()

      The accumulated number of full INs flushed to the log.

    - #### getNFullBINFlush

          public long getNFullBINFlush()

      The accumulated number of full BINs flushed to the log.

    - #### getNDeltaINFlush

          public long getNDeltaINFlush()

      The accumulated number of Delta INs flushed to the log.

    - #### getLastCheckpointInterval

          public long getLastCheckpointInterval()

      Byte length from last checkpoint start to the previous checkpoint start.

    - #### getLastCheckpointStart

          public long getLastCheckpointStart()

      The location in the log of the last checkpoint start.

    - #### getLastCheckpointEnd

          public long getLastCheckpointEnd()

      The location in the log of the last checkpoint end.

    - #### getCleanerBacklog

          public int getCleanerBacklog()

      The number of files to be cleaned to reach the target utilization.

    - #### getFileDeletionBacklog

          public int getFileDeletionBacklog()

      The number of log files that are ready to be deleted. A file that is ready to be deleted may not yet have been deleted for any of the following reasons:
      - A checkpoint has not yet completed. Files are deleted only at the end of each checkpoint.
      - A read-only process is running, which prevents file deletion.
      - A file is protected from deletion by an in-progress `DbBackup`.
      - A file is protected from deletion because it is needed for replication (High Availability applications only).

    - #### getLastKnownUtilization

          public int getLastKnownUtilization()

      The last known log utilization as a percentage. This statistic provides a cheap way of checking the log utilization without having to run the DbSpace utility.

      The log utilization is the percentage of the total log size (all .jdb files) that is utilized or active. The remaining portion of the log is obsolete. The log cleaner is responsible for keeping the log utilization below the configured threshold, `EnvironmentConfig.CLEANER_MIN_UTILIZATION`.

      This statistic is computed every time the log cleaner examines the utilization of the log, in order to determine whether cleaning is needed. The frequency can be configured using `EnvironmentConfig.CLEANER_BYTES_INTERVAL`.

      Note that the size of the utilized data in the log is always greater than the amount of user data (total size of keys and data). The active Btree internal nodes and other metadata are also included.

      Returns:
        the last known utilization, or -1 if the utilization has not been calculated for this environment since it was last opened.

    - #### getLNSizeCorrectionFactor

          public float getLNSizeCorrectionFactor()

      The factor used to correct average LN size, for LNs whose obsolete size is unknown. Used to calculate corrected utilization.

      `Float.NaN` is returned when a correction factor is not applicable because all record sizes have not yet been counted or enough data has not yet been collected to determine a representative average.

      When deletions and updates are performed and the record (LN) is not in cache, the size of the obsolete record in the log is unknown and estimated log utilization may be incorrect. The correction factor is determined when true utilization is calculated as log files are cleaned.

    - #### getCorrectedAvgLNSize

          public float getCorrectedAvgLNSize()

      Deprecated. in JE 5.0.56, use `getCorrectedAvgLNSize()` instead.

    - #### getEstimatedAvgLNSize

          public float getEstimatedAvgLNSize()

      Deprecated. in JE 5.0.56, use `getCorrectedAvgLNSize()` instead.

    - #### getNCleanerRuns

          public long getNCleanerRuns()

      Number of cleaner runs, including probe runs.
      See Also:
        `getNCleanerProbeRuns()`

    - #### getNCleanerProbeRuns

          public long getNCleanerProbeRuns()

      Number of cleaner runs for probing utilization.

      When utilization may be incorrect (see `getCorrectedAvgLNSize()`) and no log cleaning occurs because the estimated utilization is higher than the configured utilization threshold, a cleaner run is made to probe utilization and determine the correction factor. This run is read-only and does not clean or delete the log file; it only calculates utilization.

    - #### getNCleanerDeletions

          public long getNCleanerDeletions()

      The number of cleaner file deletions this session.

    - #### getPendingLNQueueSize

          public int getPendingLNQueueSize()

      The number of LNs pending because they were locked and could not be migrated.

    - #### getNCleanerEntriesRead

          public long getNCleanerEntriesRead()

      The accumulated number of log entries read by the cleaner.

    - #### getNINsObsolete

          public long getNINsObsolete()

      The accumulated number of INs obsolete.

    - #### getNINsCleaned

          public long getNINsCleaned()

      The accumulated number of INs cleaned.

    - #### getNINsDead

          public long getNINsDead()

      The accumulated number of INs that were not found in the tree anymore (deleted).

    - #### getNINsMigrated

          public long getNINsMigrated()

      The accumulated number of INs migrated.

    - #### getNBINDeltasObsolete

          public long getNBINDeltasObsolete()

      The accumulated number of BIN-deltas obsolete.

    - #### getNBINDeltasCleaned

          public long getNBINDeltasCleaned()

      The accumulated number of BIN-deltas cleaned.

    - #### getNBINDeltasDead

          public long getNBINDeltasDead()

      The accumulated number of BIN-deltas that were not found in the tree anymore (deleted).

    - #### getNBINDeltasMigrated

          public long getNBINDeltasMigrated()

      The accumulated number of BIN-deltas migrated.

    - #### getNLNsObsolete

          public long getNLNsObsolete()

      The accumulated number of LNs obsolete.

    - #### getNLNsCleaned

          public long getNLNsCleaned()

      The accumulated number of LNs cleaned.

    - #### getNLNsDead

          public long getNLNsDead()

      The accumulated number of LNs that were not found in the tree anymore (deleted).

    - #### getNLNsLocked

          public long getNLNsLocked()

      The accumulated number of LNs encountered that were locked.

    - #### getNLNsMigrated

          public long getNLNsMigrated()

      The accumulated number of LNs encountered that were migrated forward in the log by the cleaner.

    - #### getNLNsMarked

          public long getNLNsMarked()

      The accumulated number of LNs in temporary DBs that were dirtied by the cleaner and subsequently logging during checkpoint/eviction.

    - #### getNLNQueueHits

          public long getNLNQueueHits()

      The accumulated number of LNs processed without a tree lookup.

    - #### getNPendingLNsProcessed

          public long getNPendingLNsProcessed()

      The accumulated number of LNs processed because they were previously locked.

    - #### getNMarkedLNsProcessed

          public long getNMarkedLNsProcessed()

      The accumulated number of LNs processed because they were previously marked for migration.

    - #### getNToBeCleanedLNsProcessed

          public long getNToBeCleanedLNsProcessed()

      The accumulated number of LNs processed because they are soon to be cleaned.

    - #### getNClusterLNsProcessed

          public long getNClusterLNsProcessed()

      The accumulated number of LNs processed because they qualify for clustering.

    - #### getNPendingLNsLocked

          public long getNPendingLNsLocked()

      The accumulated number of pending LNs that could not be locked for migration because of a long duration application lock.

    - #### getNRepeatIteratorReads

          public long getNRepeatIteratorReads()

      The number of times we tried to read a log entry larger than the read buffer size and couldn't grow the log buffer to accommodate the large object. This happens during scans of the log during activities like environment open or log cleaning. Implies that the read chunk size controlled by je.log.iteratorReadSize is too small.

    - #### getTotalLogSize

          public long getTotalLogSize()

      An approximation of the current total log size in bytes.

    - #### getNCacheMiss

          public long getNCacheMiss()

      The total number of requests for database objects which were not in memory.

    - #### getEndOfLog

          public long getEndOfLog()

      The location of the next entry to be written to the log.

      Note that the log entries prior to this position may not yet have been flushed to disk. Flushing can be forced using a Sync or WriteNoSync commit, or a checkpoint.

    - #### getNFSyncs

          public long getNFSyncs()

      The number of fsyncs issued through the group commit manager. A subset of nLogFsyncs.

    - #### getNFSyncRequests

          public long getNFSyncRequests()

      The number of fsyncs requested through the group commit manager.

    - #### getNFSyncTimeouts

          public long getNFSyncTimeouts()

      The number of fsync requests submitted to the group commit manager which timed out.

    - #### getNLogFSyncs

          public long getNLogFSyncs()

      The total number of fsyncs of the JE log. This includes those fsyncs issued on behalf of transaction commits.

    - #### getNLogBuffers

          public int getNLogBuffers()

      The number of log buffers currently instantiated.

    - #### getNRandomReads

          public long getNRandomReads()

      The number of disk reads which required repositioning the disk head more than 1MB from the previous file position. Reads in a different *.jdb log file then the last IO constitute a random read.

      This number is approximate and may differ from the actual number of random disk reads depending on the type of disks and file system, disk geometry, and file system cache size.

    - #### getNRandomReadBytes

          public long getNRandomReadBytes()

      The number of bytes read which required repositioning the disk head more than 1MB from the previous file position. Reads in a different *.jdb log file then the last IO constitute a random read.

      This number is approximate vary depending on the type of disks and file system, disk geometry, and file system cache size.

    - #### getNRandomWrites

          public long getNRandomWrites()

      The number of disk writes which required repositioning the disk head by more than 1MB from the previous file position. Writes to a different *.jdb log file (i.e. a file "flip") then the last IO constitute a random write.

      This number is approximate and may differ from the actual number of random disk writes depending on the type of disks and file system, disk geometry, and file system cache size.

    - #### getNRandomWriteBytes

          public long getNRandomWriteBytes()

      The number of bytes written which required repositioning the disk head more than 1MB from the previous file position. Writes in a different *.jdb log file then the last IO constitute a random write.

      This number is approximate vary depending on the type of disks and file system, disk geometry, and file system cache size.

    - #### getNSequentialReads

          public long getNSequentialReads()

      The number of disk reads which did not require repositioning the disk head more than 1MB from the previous file position. Reads in a different *.jdb log file then the last IO constitute a random read.

      This number is approximate and may differ from the actual number of sequential disk reads depending on the type of disks and file system, disk geometry, and file system cache size.

    - #### getNSequentialReadBytes

          public long getNSequentialReadBytes()

      The number of bytes read which did not require repositioning the disk head more than 1MB from the previous file position. Reads in a different *.jdb log file then the last IO constitute a random read.

      This number is approximate vary depending on the type of disks and file system, disk geometry, and file system cache size.

    - #### getNSequentialWrites

          public long getNSequentialWrites()

      The number of disk writes which did not require repositioning the disk head by more than 1MB from the previous file position. Writes to a different *.jdb log file (i.e. a file "flip") then the last IO constitute a random write.

      This number is approximate and may differ from the actual number of sequential disk writes depending on the type of disks and file system, disk geometry, and file system cache size.

    - #### getNSequentialWriteBytes

          public long getNSequentialWriteBytes()

      The number of bytes written which did not require repositioning the disk head more than 1MB from the previous file position. Writes in a different *.jdb log file then the last IO constitute a random write.

      This number is approximate vary depending on the type of disks and file system, disk geometry, and file system cache size.

    - #### getNBytesReadFromWriteQueue

          public long getNBytesReadFromWriteQueue()

      The number of bytes read to fulfill file read operations by reading out of the pending write queue.

    - #### getNBytesWrittenFromWriteQueue

          public long getNBytesWrittenFromWriteQueue()

      The number of bytes written from the pending write queue.

    - #### getNReadsFromWriteQueue

          public long getNReadsFromWriteQueue()

      The number of file read operations which were fulfilled by reading out of the pending write queue.

    - #### getNWritesFromWriteQueue

          public long getNWritesFromWriteQueue()

      The number of file writes operations executed from the pending write queue.

    - #### getNWriteQueueOverflow

          public long getNWriteQueueOverflow()

      The number of writes operations which would overflow the Write Queue.

    - #### getNWriteQueueOverflowFailures

          public long getNWriteQueueOverflowFailures()

      The number of writes operations which would overflow the Write Queue and could not be queued.

    - #### getBufferBytes

          public long getBufferBytes()

      The total memory currently consumed by log buffers, in bytes. If this environment uses the shared cache, this method returns only the amount used by this environment.

    - #### getNNotResident

          public long getNNotResident()

      The number of requests for database objects not contained within the in memory data structures.

    - #### getNRepeatFaultReads

          public long getNRepeatFaultReads()

      The number of reads which had to be repeated when faulting in an object from disk because the read chunk size controlled by je.log.faultReadSize is too small.

    - #### getNTempBufferWrites

          public long getNTempBufferWrites()

      The number of writes which had to be completed using the temporary marshalling buffer because the fixed size log buffers specified by je.log.totalBufferBytes and je.log.numBuffers were not large enough.

    - #### getNFileOpens

          public int getNFileOpens()

      The number of times a log file has been opened.

    - #### getNOpenFiles

          public int getNOpenFiles()

      The number of files currently open in the file cache.

    - #### getRequiredEvictBytes

          public long getRequiredEvictBytes()

      Deprecated. The method returns 0 always.

    - #### getNNodesScanned

          public long getNNodesScanned()

      Deprecated. This statistic has no meaning after the implementation of the new evictor in JE 6.0. The method returns 0 always.

    - #### getNEvictPasses

          public long getNEvictPasses()

      Deprecated. Use getNEvictionRuns() instead.
      Number of eviction runs, an indicator of the eviction activity level.

    - #### getNNodesSelected

          public long getNNodesSelected()

      Deprecated. Use getNNodesTargeted() instead.
      Number of nodes selected as eviction targets. An eviction target may actually be evicted, or skipped, or put back to the LRU, potentially after partial eviction (stripping) or BIN-delta mutation is done on it.

    - #### getNNodesExplicitlyEvicted

          public long getNNodesExplicitlyEvicted()

      Deprecated. Use getNNodesEvicted() instead.
      Number of nodes evicted.

    - #### getNBINsStripped

          public long getNBINsStripped()

      Deprecated. Use getNNodesStripped() instead.
      Number of BINs whose child LNs were evicted (stripped).

    - #### getNBINsMutated

          public long getNBINsMutated()

      Deprecated. Use getNNodesMutated() instead.
      Number of BINs mutated to BIN-deltas by eviction.

    - #### getNEvictionRuns

          public long getNEvictionRuns()

      Number of eviction runs, an indicator of the eviction activity level.

    - #### getNNodesTargeted

          public long getNNodesTargeted()

      Number of nodes selected as eviction targets. An eviction target may actually be evicted, or skipped, or put back to the LRU, potentially after partial eviction (stripping) or BIN-delta mutation is done on it.

    - #### getNNodesEvicted

          public long getNNodesEvicted()

      Number of nodes evicted.

    - #### getNRootNodesEvicted

          public long getNRootNodesEvicted()

      Number of database root nodes evicted.

    - #### getNLNsEvicted

          public long getNLNsEvicted()

      Number of LNs evicted as a result of BIN stripping

    - #### getNNodesStripped

          public long getNNodesStripped()

      Number of BINs whose child LNs were evicted (stripped).

    - #### getNNodesMutated

          public long getNNodesMutated()

      Number of BINs mutated to BIN-deltas by eviction.

    - #### getNNodesPutBack

          public long getNNodesPutBack()

      Number of nodes back into the LRU without any action taken on them. For example, a target BIN will immediatelly be put back if it is pinned, or is marked "hot", or none of it LNs are evictable."

    - #### getNNodesMovedToDirtyLRU

          public long getNNodesMovedToDirtyLRU()

      Number of nodes moved from the "mixed" to the dirty LRU.

    - #### getNNodesSkipped

          public long getNNodesSkipped()

      Number of nodes removed from the LRU without any action taken on them. For example, a node will be skipped if it has already been evicted by another thread.

    - #### getNThreadUnavailable

          public long getNThreadUnavailable()

      Number of eviction tasks that were submitted to the background evictor pool, but were refused because all eviction threads were busy. This may indicate the need to change the size of the evictor pool through the je.evictor.*Threads properties.

    - #### getNSharedCacheEnvironments

          public int getNSharedCacheEnvironments()

      The number of environments using the shared cache. This method says nothing about whether this environment is using the shared cache or not.

    - #### getNLNsFetch

          public long getNLNsFetch()

      Number of LNs (data records) requested by btree operations. Can be used to gauge cache hit/miss ratios.

    - #### getNUpperINsFetch

          public long getNUpperINsFetch()

      Number of upper INs (non bottom internal nodes) requested by btree operations. Can be used to gauge cache hit/miss ratios.

    - #### getNBINsFetch

          public long getNBINsFetch()

      Number of BINs (bottom internal nodes) requested by btree operations. Can be used to gauge cache hit/miss ratios.

    - #### getNLNsFetchMiss

          public long getNLNsFetchMiss()

      Number of LNs (data records) requested by btree operations that were not in cache. Can be used to gauge cache hit/miss ratios.

    - #### getNUpperINsFetchMiss

          public long getNUpperINsFetchMiss()

      Number of upper INs (non-bottom internal nodes) requested by btree operations that were not in cache. Can be used to gauge cache hit/miss ratios.

    - #### getNBINsFetchMiss

          public long getNBINsFetchMiss()

      Number of full BINs (bottom internal nodes) and BIN deltas fetched to satisfy btree operations. Can be used to gauge cache hit/miss ratios.

    - #### getNBINDeltasFetchMiss

          public long getNBINDeltasFetchMiss()

      Number of BIN-deltas (partial BINS) fetched to satisfy btree operations. Can be used to gauge cache hit/miss ratios.

    - #### getNBINsFetchMissRatio

          public float getNBINsFetchMissRatio()

      The ratio between the number of BINs (full or deltas) fetched to satisfy btree operations and the number of BINs requested by btree operations.

    - #### getNFullBINsMiss

          public long getNFullBINsMiss()

      Number of times a BIN-delta had to be mutated to a full BIN (and as a result a full BIN had to be read in from the log).

    - #### getNBINDeltaBlindOps

          public long getNBINDeltaBlindOps()

      The number of operations performed blindly in BIN deltas

    - #### getNCachedUpperINs

          public long getNCachedUpperINs()

      Number of INs (internal nodes) in cache. The cache holds INs and BINS, so this indicates the proportion used by each type of node. When used on shared environment caches, will only be visible via StatConfig.setFast(false).

    - #### getNCachedBINs

          public long getNCachedBINs()

      Number of BINs (bottom internal nodes) in cache. The cache holds INs and BINS, so this indicates the proportion used by each type of node. When used on shared environment caches, will only be visible via StatConfig.setFast(false).

    - #### getNCachedBINDeltas

          public long getNCachedBINDeltas()

      Number of BIN-deltas (partial BINs) in cache. This is a subset of the nCachedBINs value.

    - #### getNINSparseTarget

          public long getNINSparseTarget()

      Number of INs that use a compact sparse array representation to point to child nodes in the cache. This helps provide some insight into what is resident in the cache.

    - #### getNINNoTarget

          public long getNINNoTarget()

      Number of INs that use a compact representation when none of its child nodes are in the cache. This helps provide some insight into what is resident in the cache.

    - #### getNINCompactKeyIN

          public long getNINCompactKeyIN()

      Number of INs that use a compact key representation to minimize the key object representation overhead. This helps provide some insight into what is resident in the cache. In addition, if this number is low, and the application may want to try using Database.setKeyPrefix to enable key prefixing, and to see if that lets JE use the compact key representation more often.

    - #### getNBINsEvictedEvictorThread

          public long getNBINsEvictedEvictorThread()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getNBINsEvictedManual

          public long getNBINsEvictedManual()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getNBINsEvictedCritical

          public long getNBINsEvictedCritical()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getNBINsEvictedCacheMode

          public long getNBINsEvictedCacheMode()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getNBINsEvictedDaemon

          public long getNBINsEvictedDaemon()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getNUpperINsEvictedEvictorThread

          public long getNUpperINsEvictedEvictorThread()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getNUpperINsEvictedManual

          public long getNUpperINsEvictedManual()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getNUpperINsEvictedCritical

          public long getNUpperINsEvictedCritical()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getNUpperINsEvictedCacheMode

          public long getNUpperINsEvictedCacheMode()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getNUpperINsEvictedDaemon

          public long getNUpperINsEvictedDaemon()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getNBatchesEvictorThread

          public long getNBatchesEvictorThread()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getNBatchesManual

          public long getNBatchesManual()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getNBatchesCacheMode

          public long getNBatchesCacheMode()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getNBatchesCritical

          public long getNBatchesCritical()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getNBatchesDaemon

          public long getNBatchesDaemon()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getNBytesEvictedEvictorThread

          public long getNBytesEvictedEvictorThread()

      Number of bytes evicted by evictor pool threads. It serves as an indicator of which part of the system is doing eviction work.

    - #### getNBytesEvictedManual

          public long getNBytesEvictedManual()

      Number of bytes evicted by the `Environment.evictMemory()` method, which is called during Environment startup, or by application code. It serves as an indicator of which part of the system is doing eviction work.

    - #### getNBytesEvictedCacheMode

          public long getNBytesEvictedCacheMode()

      Number of bytes evicted in the course of executing operations that use an explicitly set `CacheMode`. It serves as an indicator of which part of the system is doing eviction work.

    - #### getNBytesEvictedCritical

          public long getNBytesEvictedCritical()

      Number of bytes evicted in the course of executing operations that will cause the cache to go over budget. It serves as an indicator of which part of the system is doing eviction work.

    - #### getNBytesEvictedDeamon

          public long getNBytesEvictedDeamon()

      Number of bytes evicted by JE deamon threads. It serves as an indicator of which part of the system is doing eviction work.

    - #### getAvgBatchEvictorThread

          public long getAvgBatchEvictorThread()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getAvgBatchManual

          public long getAvgBatchManual()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getAvgBatchCacheMode

          public long getAvgBatchCacheMode()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getAvgBatchCritical

          public long getAvgBatchCritical()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getAvgBatchDaemon

          public long getAvgBatchDaemon()

      Deprecated. This statistic has been removed. The method returns 0 always.

    - #### getSharedCacheTotalBytes

          public long getSharedCacheTotalBytes()

      The total amount of the shared JE cache in use, in bytes. If this environment uses the shared cache, this method returns the total amount used by all environments that are sharing the cache. If this environment does not use the shared cache, this method returns zero.

      To get the configured maximum cache size, see `EnvironmentMutableConfig.getCacheSize()`.

    - #### getCacheTotalBytes

          public long getCacheTotalBytes()

      The total amount of JE cache in use, in bytes. If this environment uses the shared cache, this method returns only the amount used by this environment.

      This method returns the sum of `getDataBytes()`, `getAdminBytes()`, `getLockBytes()` and `getBufferBytes()`.

      To get the configured maximum cache size, see `EnvironmentMutableConfig.getCacheSize()`.

    - #### getDataBytes

          public long getDataBytes()

      The amount of JE cache used for holding data, keys and internal Btree nodes, in bytes. If this environment uses the shared cache, this method returns only the amount used by this environment.

      The value returned by this method includes the amount returned by `getDataAdminBytes()`.

    - #### getDataAdminBytes

          public long getDataAdminBytes()

      The portion of data bytes (`getDataBytes()`) in the cache that are allocated for per-database cleaner utilization metadata.

    - #### getAdminBytes

          public long getAdminBytes()

      The number of bytes of JE cache used for log cleaning metadata and other administrative structures. If this environment uses the shared cache, this method returns only the amount used by this environment.

    - #### getLockBytes

          public long getLockBytes()

      The number of bytes of JE cache used for holding locks and transactions. If this environment uses the shared cache, this method returns only the amount used by this environment.

    - #### getCacheDataBytes

          public long getCacheDataBytes()

      Deprecated. Please use `getDataBytes()` to get the amount of cache used for data and use `getAdminBytes()`, `getLockBytes()` and `getBufferBytes()` to get other components of the total cache usage (`getCacheTotalBytes()`).
      The amount of JE cache used for all items except for the log buffers, in bytes. If this environment uses the shared cache, this method returns only the amount used by this environment.

    - #### getRelatchesRequired

          public long getRelatchesRequired()

      Returns the number of latch upgrades (relatches) required while operating on this Environment. Latch upgrades are required when an operation assumes that a shared (read) latch will be sufficient but later determines that an exclusive (write) latch will actually be required.
      Returns:
        number of latch upgrades (relatches) required.

    - #### getNOwners

          public int getNOwners()

      Total lock owners in lock table. Only provided when `Environment.getStats` is called in "slow" mode.

    - #### getNReadLocks

          public int getNReadLocks()

      Total read locks currently held. Only provided when `Environment.getStats` is called in "slow" mode.

    - #### getNTotalLocks

          public int getNTotalLocks()

      Total locks currently in lock table. Only provided when `Environment.getStats` is called in "slow" mode.

    - #### getNWaiters

          public int getNWaiters()

      Total transactions waiting for locks. Only provided when `Environment.getStats` is called in "slow" mode.

    - #### getNWriteLocks

          public int getNWriteLocks()

      Total write locks currently held. Only provided when `Environment.getStats` is called in "slow" mode.

    - #### getNRequests

          public long getNRequests()

      Total number of lock requests to date.

    - #### getNWaits

          public long getNWaits()

      Total number of lock waits to date.

    - #### getNAcquiresNoWaiters

          public int getNAcquiresNoWaiters()

      Number of acquires of lock table latch with no contention.

    - #### getNAcquiresSelfOwned

          public int getNAcquiresSelfOwned()

      Number of acquires of lock table latch when it was already owned by the caller.

    - #### getNAcquiresWithContention

          public int getNAcquiresWithContention()

      Number of acquires of lock table latch when it was already owned by another thread.

    - #### getNAcquiresNoWaitSuccessful

          public int getNAcquiresNoWaitSuccessful()

      Number of successful no-wait acquires of the lock table latch.

    - #### getNAcquiresNoWaitUnSuccessful

          public int getNAcquiresNoWaitUnSuccessful()

      Number of unsuccessful no-wait acquires of the lock table latch.

    - #### getNReleases

          public int getNReleases()

      Number of releases of the lock table latch.

    - #### getNBinDeltaGetOps

          public long getNBinDeltaGetOps()

      The number of user (non-internal) Cursor and Database get operations performed in BIN deltas.

    - #### getNBinDeltaInsertOps

          public long getNBinDeltaInsertOps()

      The number of user (non-internal) Cursor and Database insert operations performed in BIN deltas (these are insertions performed via the various put methods).

    - #### getNBinDeltaUpdateOps

          public long getNBinDeltaUpdateOps()

      The number of user (non-internal) Cursor and Database update operations performed in BIN deltas (these are updates performed via the various put methods).

    - #### getNBinDeltaDeleteOps

          public long getNBinDeltaDeleteOps()

      The number of user (non-internal) Cursor and Database delete operations performed in BIN deltas.

    - #### toString

          public String toString()

      Returns a String representation of the stats in the form of <stat>=<value>
      Overrides:
        `toString` in class `Object`

    - #### toStringVerbose

          public String toStringVerbose()

      Returns a String representation of the stats which includes stats descriptions in addition to <stat>=<value>

Copyright (c) 2004, 2014 Oracle and/or its affiliates. All rights reserved.