package com.sleepycat.je.cleaner;
class FileProcessor {
private int nINsObsoleteThisRun=0;
private int nINsCleanedThisRun=0;
private int nINsDeadThisRun=0;
private int nINsMigratedThisRun=0;
private int nLNsObsoleteThisRun=0;
private int nLNsCleanedThisRun=0;
private int nLNsDeadThisRun=0;
private int nLNsLockedThisRun=0;
private int nLNsMigratedThisRun=0;
private int nLNsMarkedThisRun=0;
private int nLNQueueHitsThisRun=0;
private int nEntriesReadThisRun;
private long nRepeatIteratorReadsThisRun;
/**
* Reset per-run counters.
*/
private void resetPerRunCounters(){
nINsObsoleteThisRun=0;
nINsCleanedThisRun=0;
nINsDeadThisRun=0;
nINsMigratedThisRun=0;
nLNsObsoleteThisRun=0;
nLNsCleanedThisRun=0;
nLNsDeadThisRun=0;
nLNsMigratedThisRun=0;
nLNsMarkedThisRun=0;
nLNQueueHitsThisRun=0;
nLNsLockedThisRun=0;
nEntriesReadThisRun=0;
nRepeatIteratorReadsThisRun=0;
}
/**
* Add per-run counters to total counters.
*/
private void accumulatePerRunCounters(){
cleaner.nINsObsolete+=nINsObsoleteThisRun;
cleaner.nINsCleaned+=nINsCleanedThisRun;
cleaner.nINsDead+=nINsDeadThisRun;
cleaner.nINsMigrated+=nINsMigratedThisRun;
cleaner.nLNsObsolete+=nLNsObsoleteThisRun;
cleaner.nLNsCleaned+=nLNsCleanedThisRun;
cleaner.nLNsDead+=nLNsDeadThisRun;
cleaner.nLNsMigrated+=nLNsMigratedThisRun;
cleaner.nLNsMarked+=nLNsMarkedThisRun;
cleaner.nLNQueueHits+=nLNQueueHitsThisRun;
cleaner.nLNsLocked+=nLNsLockedThisRun;
cleaner.nRepeatIteratorReads+=nRepeatIteratorReadsThisRun;
}
protected void hook138() throws DatabaseException {
resetPerRunCounters();
original();
}
protected String hook139( String traceMsg) throws DatabaseException, IOException {
traceMsg+=" begins backlog=" + cleaner.nBacklogFiles;
return original(traceMsg);
}
protected void hook140() throws DatabaseException, IOException {
accumulatePerRunCounters();
original();
}
protected String hook141( String traceMsg) throws DatabaseException {
traceMsg+=" nEntriesRead=" + nEntriesReadThisRun + " nINsObsolete="+ nINsObsoleteThisRun+ " nINsCleaned="+ nINsCleanedThisRun+ " nINsDead="+ nINsDeadThisRun+ " nINsMigrated="+ nINsMigratedThisRun+ " nLNsObsolete="+ nLNsObsoleteThisRun+ " nLNsCleaned="+ nLNsCleanedThisRun+ " nLNsDead="+ nLNsDeadThisRun+ " nLNsMigrated="+ nLNsMigratedThisRun+ " nLNsMarked="+ nLNsMarkedThisRun+ " nLNQueueHits="+ nLNQueueHitsThisRun+ " nLNsLocked="+ nLNsLockedThisRun;
return original(traceMsg);
}
protected void hook142() throws DatabaseException {
nLNsLockedThisRun++;
original();
}
protected void hook143() throws DatabaseException {
nLNsDeadThisRun++;
original();
}
protected void hook144() throws DatabaseException {
nLNsMarkedThisRun++;
original();
}
protected void hook125( IN inClone, DatabaseImpl db, long lsn, boolean obsolete, boolean dirtied, boolean completed) throws DatabaseException {
nINsCleanedThisRun++;
original(inClone,db,lsn,obsolete,dirtied,completed);
}
protected void hook151() throws DatabaseException {
nINsDeadThisRun++;
original();
}
protected void hook152() throws DatabaseException {
nINsDeadThisRun++;
original();
}
protected void hook153() throws DatabaseException {
nINsMigratedThisRun++;
original();
}
@MethodObject static class FileProcessor_processLN {
void execute() throws DatabaseException {
_this.nLNsCleanedThisRun++;
original();
}
protected void hook148() throws DatabaseException {
_this.nLNsDeadThisRun++;
original();
}
protected void hook149() throws DatabaseException {
_this.nLNsDeadThisRun++;
original();
}
protected void hook150() throws DatabaseException {
_this.nLNsDeadThisRun++;
original();
}
}
@MethodObject static class FileProcessor_processFile {
protected void hook145() throws DatabaseException, IOException {
_this.nEntriesReadThisRun=reader.getNumRead();
_this.nRepeatIteratorReadsThisRun=reader.getNRepeatIteratorReads();
original();
}
protected void hook146() throws DatabaseException, IOException {
_this.cleaner.nEntriesRead+=1;
original();
}
protected void hook147() throws DatabaseException, IOException {
if (isLN) {
_this.nLNsObsoleteThisRun++;
}
else if (isIN) {
_this.nINsObsoleteThisRun++;
}
original();
}
}
}