package com.sleepycat.je;
import java.io.Serializable;
import com.sleepycat.je.utilint.DbLsn;
import de.ovgu.cide.jakutil.*;
/**
* Javadoc for this public class is generated
* via the doc templates in the doc_src directory.
*/
public class EnvironmentStats implements Serializable {
/**
* 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.
*/
private int splitBins;
/**
* 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.
*/
private int dbClosedBins;
/**
* The number of bins encountered by the INCompressor that had cursors
* referring to them when the compressor ran.
*/
private int cursorsBins;
/**
* The number of bins encountered by the INCompressor that were
* not actually empty when the compressor ran.
*/
private int nonEmptyBins;
/**
* The number of bins that were successfully processed by the IN
* Compressor.
*/
private int processedBins;
/**
* The number of entries in the INCompressor queue when the getStats()
* call was made.
*/
private int inCompQueueSize;
/**
* The number of passes made to the evictor.
*/
private int nEvictPasses;
/**
* The accumulated number of nodes selected to evict.
*/
private long nNodesSelected;
/**
* The accumulated number of nodes scanned in order to select the
* eviction set.
*/
private long nNodesScanned;
/**
* The accumulated number of nodes evicted.
*/
private long nNodesExplicitlyEvicted;
/**
* The number of BINs stripped by the evictor.
*/
private long nBINsStripped;
/**
* The number of bytes we need to evict in order to get under budget.
*/
private long requiredEvictBytes;
/**
* The total number of checkpoints run so far.
*/
private int nCheckpoints;
/**
* The Id of the last checkpoint.
*/
private long lastCheckpointId;
/**
* The accumulated number of full INs flushed to the log.
*/
private int nFullINFlush;
/**
* The accumulated number of full BINs flushed to the log.
*/
private int nFullBINFlush;
/**
* The accumulated number of Delta INs flushed to the log.
*/
private int nDeltaINFlush;
/**
* The location in the log of the last checkpoint start.
*/
private long lastCheckpointStart;
/**
* The location in the log of the last checkpoint end.
*/
private long lastCheckpointEnd;
/**
* The number of files to be cleaned to reach the target utilization.
*/
private int cleanerBacklog;
/**
* The number of cleaner runs this session.
*/
private int nCleanerRuns;
/**
* The number of cleaner file deletions this session.
*/
private int nCleanerDeletions;
/**
* The accumulated number of INs obsolete.
*/
private int nINsObsolete;
/**
* The accumulated number of INs cleaned.
*/
private int nINsCleaned;
/**
* The accumulated number of INs that were not found in the tree anymore
* (deleted).
*/
private int nINsDead;
/**
* The accumulated number of INs migrated.
*/
private int nINsMigrated;
/**
* The accumulated number of LNs obsolete.
*/
private int nLNsObsolete;
/**
* The accumulated number of LNs cleaned.
*/
private int nLNsCleaned;
/**
* The accumulated number of LNs that were not found in the tree anymore
* (deleted).
*/
private int nLNsDead;
/**
* The accumulated number of LNs encountered that were locked.
*/
private int nLNsLocked;
/**
* The accumulated number of LNs encountered that were migrated forward
* in the log.
*/
private int nLNsMigrated;
/**
* The accumulated number of LNs that were marked for migration during
* cleaning.
*/
private int nLNsMarked;
/**
* The accumulated number of LNs processed without a tree lookup.
*/
private int nLNQueueHits;
/**
* The accumulated number of LNs processed because they were previously
* locked.
*/
private int nPendingLNsProcessed;
/**
* The accumulated number of LNs processed because they were previously
* marked for migration.
*/
private int nMarkedLNsProcessed;
/**
* The accumulated number of LNs processed because they are soon to be
* cleaned.
*/
private int nToBeCleanedLNsProcessed;
/**
* The accumulated number of LNs processed because they qualify for
* clustering.
*/
private int nClusterLNsProcessed;
/**
* The accumulated number of pending LNs that could not be locked for
* migration because of a long duration application lock.
*/
private int nPendingLNsLocked;
/**
* The accumulated number of log entries read by the cleaner.
*/
private int nCleanerEntriesRead;
private long cacheDataBytes;
private long nNotResident;
private long nCacheMiss;
private int nLogBuffers;
private long bufferBytes;
private long nRepeatFaultReads;
private long nTempBufferWrites;
private long nRepeatIteratorReads;
/**
* Internal use only.
*/
public EnvironmentStats(){
reset();
}
/**
* Resets all stats.
*/
private void reset(){
splitBins=0;
dbClosedBins=0;
cursorsBins=0;
nonEmptyBins=0;
processedBins=0;
inCompQueueSize=0;
nEvictPasses=0;
nNodesSelected=0;
nNodesScanned=0;
nNodesExplicitlyEvicted=0;
nBINsStripped=0;
requiredEvictBytes=0;
nCheckpoints=0;
lastCheckpointId=0;
nFullINFlush=0;
nFullBINFlush=0;
nDeltaINFlush=0;
lastCheckpointStart=DbLsn.NULL_LSN;
lastCheckpointEnd=DbLsn.NULL_LSN;
cleanerBacklog=0;
nCleanerRuns=0;
nCleanerDeletions=0;
nINsObsolete=0;
nINsCleaned=0;
nINsDead=0;
nINsMigrated=0;
nLNsObsolete=0;
nLNsCleaned=0;
nLNsDead=0;
nLNsLocked=0;
nLNsMigrated=0;
nLNsMarked=0;
nLNQueueHits=0;
nPendingLNsProcessed=0;
nMarkedLNsProcessed=0;
nToBeCleanedLNsProcessed=0;
nClusterLNsProcessed=0;
nPendingLNsLocked=0;
nCleanerEntriesRead=0;
cacheDataBytes=0;
nNotResident=0;
nCacheMiss=0;
nLogBuffers=0;
bufferBytes=0;
this.hook60();
nRepeatFaultReads=0;
nTempBufferWrites=0;
nRepeatIteratorReads=0;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public long getBufferBytes(){
return bufferBytes;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getCursorsBins(){
return cursorsBins;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getDbClosedBins(){
return dbClosedBins;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getInCompQueueSize(){
return inCompQueueSize;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public long getLastCheckpointId(){
return lastCheckpointId;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public long getNCacheMiss(){
return nCacheMiss;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNCheckpoints(){
return nCheckpoints;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getCleanerBacklog(){
return cleanerBacklog;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNCleanerRuns(){
return nCleanerRuns;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNCleanerDeletions(){
return nCleanerDeletions;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNDeltaINFlush(){
return nDeltaINFlush;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public long getLastCheckpointEnd(){
return lastCheckpointEnd;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public long getLastCheckpointStart(){
return lastCheckpointStart;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNCleanerEntriesRead(){
return nCleanerEntriesRead;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNEvictPasses(){
return nEvictPasses;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNFullINFlush(){
return nFullINFlush;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNFullBINFlush(){
return nFullBINFlush;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNINsObsolete(){
return nINsObsolete;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNINsCleaned(){
return nINsCleaned;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNINsDead(){
return nINsDead;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNINsMigrated(){
return nINsMigrated;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNLNsObsolete(){
return nLNsObsolete;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNLNsCleaned(){
return nLNsCleaned;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNLNsDead(){
return nLNsDead;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNLNsLocked(){
return nLNsLocked;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNLNsMigrated(){
return nLNsMigrated;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNLNsMarked(){
return nLNsMarked;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNLNQueueHits(){
return nLNQueueHits;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNPendingLNsProcessed(){
return nPendingLNsProcessed;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNMarkedLNsProcessed(){
return nMarkedLNsProcessed;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNToBeCleanedLNsProcessed(){
return nToBeCleanedLNsProcessed;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNClusterLNsProcessed(){
return nClusterLNsProcessed;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNPendingLNsLocked(){
return nPendingLNsLocked;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNLogBuffers(){
return nLogBuffers;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public long getNNodesExplicitlyEvicted(){
return nNodesExplicitlyEvicted;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public long getNBINsStripped(){
return nBINsStripped;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public long getRequiredEvictBytes(){
return requiredEvictBytes;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public long getNNodesScanned(){
return nNodesScanned;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public long getNNodesSelected(){
return nNodesSelected;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public long getCacheTotalBytes(){
return cacheDataBytes + bufferBytes;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public long getCacheDataBytes(){
return cacheDataBytes;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public long getNNotResident(){
return nNotResident;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getNonEmptyBins(){
return nonEmptyBins;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getProcessedBins(){
return processedBins;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public long getNRepeatFaultReads(){
return nRepeatFaultReads;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public long getNTempBufferWrites(){
return nTempBufferWrites;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public long getNRepeatIteratorReads(){
return nRepeatIteratorReads;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public int getSplitBins(){
return splitBins;
}
/**
* Internal use only.
*/
public void setCacheDataBytes( long cacheDataBytes){
this.cacheDataBytes=cacheDataBytes;
}
/**
* Internal use only.
*/
public void setNNotResident( long nNotResident){
this.nNotResident=nNotResident;
}
/**
* Internal use only.
*/
public void setNCacheMiss( long nCacheMiss){
this.nCacheMiss=nCacheMiss;
}
/**
* Internal use only.
*/
public void setNLogBuffers( int nLogBuffers){
this.nLogBuffers=nLogBuffers;
}
/**
* Internal use only.
*/
public void setBufferBytes( long bufferBytes){
this.bufferBytes=bufferBytes;
}
/**
* Internal use only.
*/
public void setCursorsBins( int val){
cursorsBins=val;
}
/**
* Internal use only.
*/
public void setDbClosedBins( int val){
dbClosedBins=val;
}
/**
* Internal use only.
*/
public void setInCompQueueSize( int val){
inCompQueueSize=val;
}
/**
* Internal use only.
*/
public void setLastCheckpointId( long l){
lastCheckpointId=l;
}
/**
* Internal use only.
*/
public void setNCheckpoints( int val){
nCheckpoints=val;
}
/**
* Internal use only.
*/
public void setCleanerBacklog( int val){
cleanerBacklog=val;
}
/**
* Internal use only.
*/
public void setNCleanerRuns( int val){
nCleanerRuns=val;
}
/**
* Internal use only.
*/
public void setNCleanerDeletions( int val){
nCleanerDeletions=val;
}
/**
* Internal use only.
*/
public void setNDeltaINFlush( int val){
nDeltaINFlush=val;
}
/**
* Internal use only.
*/
public void setLastCheckpointEnd( long lsn){
lastCheckpointEnd=lsn;
}
/**
* Internal use only.
*/
public void setLastCheckpointStart( long lsn){
lastCheckpointStart=lsn;
}
/**
* Internal use only.
*/
public void setNCleanerEntriesRead( int val){
nCleanerEntriesRead=val;
}
/**
* Internal use only.
*/
public void setNEvictPasses( int val){
nEvictPasses=val;
}
/**
* Internal use only.
*/
public void setNFullINFlush( int val){
nFullINFlush=val;
}
/**
* Internal use only.
*/
public void setNFullBINFlush( int val){
nFullBINFlush=val;
}
/**
* Internal use only.
*/
public void setNINsObsolete( int val){
nINsObsolete=val;
}
/**
* Internal use only.
*/
public void setNINsCleaned( int val){
nINsCleaned=val;
}
/**
* Internal use only.
*/
public void setNINsDead( int val){
nINsDead=val;
}
/**
* Internal use only.
*/
public void setNINsMigrated( int val){
nINsMigrated=val;
}
/**
* Internal use only.
*/
public void setNLNsObsolete( int val){
nLNsObsolete=val;
}
/**
* Internal use only.
*/
public void setNLNsCleaned( int val){
nLNsCleaned=val;
}
/**
* Internal use only.
*/
public void setNLNsDead( int val){
nLNsDead=val;
}
/**
* Internal use only.
*/
public void setNLNsLocked( int val){
nLNsLocked=val;
}
/**
* Internal use only.
*/
public void setNLNsMigrated( int val){
nLNsMigrated=val;
}
/**
* Internal use only.
*/
public void setNLNsMarked( int val){
nLNsMarked=val;
}
/**
* Internal use only.
*/
public void setNLNQueueHits( int val){
nLNQueueHits=val;
}
/**
* Internal use only.
*/
public void setNPendingLNsProcessed( int val){
nPendingLNsProcessed=val;
}
/**
* Internal use only.
*/
public void setNMarkedLNsProcessed( int val){
nMarkedLNsProcessed=val;
}
/**
* Internal use only.
*/
public void setNToBeCleanedLNsProcessed( int val){
nToBeCleanedLNsProcessed=val;
}
/**
* Internal use only.
*/
public void setNClusterLNsProcessed( int val){
nClusterLNsProcessed=val;
}
/**
* Internal use only.
*/
public void setNPendingLNsLocked( int val){
nPendingLNsLocked=val;
}
/**
* Internal use only.
*/
public void setNNodesExplicitlyEvicted( long l){
nNodesExplicitlyEvicted=l;
}
/**
* Internal use only.
*/
public void setRequiredEvictBytes( long l){
requiredEvictBytes=l;
}
/**
* Internal use only.
*/
public void setNBINsStripped( long l){
nBINsStripped=l;
}
/**
* Internal use only.
*/
public void setNNodesScanned( long l){
nNodesScanned=l;
}
/**
* Internal use only.
*/
public void setNNodesSelected( long l){
nNodesSelected=l;
}
/**
* Internal use only.
*/
public void setNonEmptyBins( int val){
nonEmptyBins=val;
}
/**
* Internal use only.
*/
public void setProcessedBins( int val){
processedBins=val;
}
/**
* Internal use only.
*/
public void setNRepeatFaultReads( long val){
nRepeatFaultReads=val;
}
/**
* Internal use only.
*/
public void setNTempBufferWrites( long val){
nTempBufferWrites=val;
}
/**
* Internal use only.
*/
public void setNRepeatIteratorReads( long val){
nRepeatIteratorReads=val;
}
/**
* Internal use only.
*/
public void setSplitBins( int val){
splitBins=val;
}
/**
* Javadoc for this public method is generated via
* the doc templates in the doc_src directory.
*/
public String toString(){
StringBuffer sb=new StringBuffer();
sb.append("splitBins=").append(splitBins).append('\n');
sb.append("dbClosedBins=").append(dbClosedBins).append('\n');
sb.append("cursorsBins=").append(cursorsBins).append('\n');
sb.append("nonEmptyBins=").append(nonEmptyBins).append('\n');
sb.append("processedBins=").append(processedBins).append('\n');
sb.append("inCompQueueSize=").append(inCompQueueSize).append('\n');
sb.append("nEvictPasses=").append(nEvictPasses).append('\n');
sb.append("nNodesSelected=").append(nNodesSelected).append('\n');
sb.append("nNodesScanned=").append(nNodesScanned).append('\n');
sb.append("nNodesExplicitlyEvicted=").append(nNodesExplicitlyEvicted).append('\n');
sb.append("nBINsStripped=").append(nBINsStripped).append('\n');
sb.append("requiredEvictBytes=").append(requiredEvictBytes).append('\n');
sb.append("nCheckpoints=").append(nCheckpoints).append('\n');
sb.append("lastCheckpointId=").append(lastCheckpointId).append('\n');
sb.append("nFullINFlush=").append(nFullINFlush).append('\n');
sb.append("nFullBINFlush=").append(nFullBINFlush).append('\n');
sb.append("nDeltaINFlush=").append(nDeltaINFlush).append('\n');
sb.append("lastCheckpointStart=").append(DbLsn.getNoFormatString(lastCheckpointStart)).append('\n');
sb.append("lastCheckpointEnd=").append(DbLsn.getNoFormatString(lastCheckpointEnd)).append('\n');
sb.append("cleanerBacklog=").append(cleanerBacklog).append('\n');
sb.append("nCleanerRuns=").append(nCleanerRuns).append('\n');
sb.append("nCleanerDeletions=").append(nCleanerDeletions).append('\n');
sb.append("nINsObsolete=").append(nINsObsolete).append('\n');
sb.append("nINsCleaned=").append(nINsCleaned).append('\n');
sb.append("nINsDead=").append(nINsDead).append('\n');
sb.append("nINsMigrated=").append(nINsMigrated).append('\n');
sb.append("nLNsObsolete=").append(nLNsObsolete).append('\n');
sb.append("nLNsCleaned=").append(nLNsCleaned).append('\n');
sb.append("nLNsDead=").append(nLNsDead).append('\n');
sb.append("nLNsLocked=").append(nLNsLocked).append('\n');
sb.append("nLNsMigrated=").append(nLNsMigrated).append('\n');
sb.append("nLNsMarked=").append(nLNsMarked).append('\n');
sb.append("nLNQueueHits=").append(nLNQueueHits).append('\n');
sb.append("nPendingLNsProcessed=").append(nPendingLNsProcessed).append('\n');
sb.append("nMarkedLNsProcessed=").append(nMarkedLNsProcessed).append('\n');
sb.append("nToBeCleanedLNsProcessed=").append(nToBeCleanedLNsProcessed).append('\n');
sb.append("nClusterLNsProcessed=").append(nClusterLNsProcessed).append('\n');
sb.append("nPendingLNsLocked=").append(nPendingLNsLocked).append('\n');
sb.append("nCleanerEntriesRead=").append(nCleanerEntriesRead).append('\n');
sb.append("nNotResident=").append(nNotResident).append('\n');
sb.append("nCacheMiss=").append(nCacheMiss).append('\n');
sb.append("nLogBuffers=").append(nLogBuffers).append('\n');
sb.append("bufferBytes=").append(bufferBytes).append('\n');
sb.append("cacheDataBytes=").append(cacheDataBytes).append('\n');
sb.append("cacheTotalBytes=").append(getCacheTotalBytes()).append('\n');
this.hook61(sb);
sb.append("nRepeatFaultReads=").append(nRepeatFaultReads).append('\n');
sb.append("nTempBufferWrite=").append(nTempBufferWrites).append('\n');
sb.append("nRepeatIteratorReads=").append(nRepeatIteratorReads).append('\n');
return sb.toString();
}
protected void hook60(){
}
protected void hook61( StringBuffer sb){
}
}