package com.sleepycat.je.cleaner;
import com.sleepycat.je.EnvironmentStats;
import com.sleepycat.je.StatsConfig;
public class Cleaner {
int nBacklogFiles=0;
int nCleanerDeletions=0;
int nINsObsolete=0;
int nINsCleaned=0;
int nINsDead=0;
int nINsMigrated=0;
int nLNsObsolete=0;
int nLNsCleaned=0;
int nLNsDead=0;
int nLNsLocked=0;
int nLNsMigrated=0;
int nLNsMarked=0;
int nLNQueueHits=0;
int nPendingLNsProcessed=0;
int nMarkedLNsProcessed=0;
int nToBeCleanedLNsProcessed=0;
int nClusterLNsProcessed=0;
int nPendingLNsLocked=0;
int nEntriesRead=0;
long nRepeatIteratorReads=0;
/**
* Load stats.
*/
public void loadStats( StatsConfig config, EnvironmentStats stat) throws DatabaseException {
stat.setCleanerBacklog(nBacklogFiles);
stat.setNCleanerRuns(nCleanerRuns);
stat.setNCleanerDeletions(nCleanerDeletions);
stat.setNINsObsolete(nINsObsolete);
stat.setNINsCleaned(nINsCleaned);
stat.setNINsDead(nINsDead);
stat.setNINsMigrated(nINsMigrated);
stat.setNLNsObsolete(nLNsObsolete);
stat.setNLNsCleaned(nLNsCleaned);
stat.setNLNsDead(nLNsDead);
stat.setNLNsLocked(nLNsLocked);
stat.setNLNsMigrated(nLNsMigrated);
stat.setNLNsMarked(nLNsMarked);
stat.setNLNQueueHits(nLNQueueHits);
stat.setNPendingLNsProcessed(nPendingLNsProcessed);
stat.setNMarkedLNsProcessed(nMarkedLNsProcessed);
stat.setNToBeCleanedLNsProcessed(nToBeCleanedLNsProcessed);
stat.setNClusterLNsProcessed(nClusterLNsProcessed);
stat.setNPendingLNsLocked(nPendingLNsLocked);
stat.setNCleanerEntriesRead(nEntriesRead);
stat.setNRepeatIteratorReads(nRepeatIteratorReads);
if (config.getClear()) {
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;
nEntriesRead=0;
nRepeatIteratorReads=0;
}
}
protected void hook96() throws DatabaseException {
nCleanerDeletions++;
original();
}
/**
* Update the lowUtilizationFiles and mustBeCleanedFiles fields with new
* read-only collections, and update the backlog file count.
*/
public void updateReadOnlyFileCollections(){
original();
nBacklogFiles=fileSelector.getBacklog();
}
protected void hook97() throws DatabaseException {
nPendingLNsProcessed++;
original();
}
protected void hook98() throws DatabaseException {
nLNsDead++;
original();
}
protected void hook99() throws DatabaseException {
nPendingLNsLocked++;
original();
}
protected void hook100() throws DatabaseException {
nLNsDead++;
original();
}
protected void hook101(){
nMarkedLNsProcessed++;
original();
}
protected void hook102(){
nToBeCleanedLNsProcessed++;
original();
}
protected void hook103(){
nClusterLNsProcessed++;
original();
}
protected void hook104() throws DatabaseException {
nLNsMigrated++;
original();
}
protected void hook105( boolean wasCleaned) throws DatabaseException {
if (wasCleaned) {
nLNsDead++;
}
original(wasCleaned);
}
protected void hook106( boolean wasCleaned) throws DatabaseException {
if (wasCleaned) {
nLNsLocked++;
}
original(wasCleaned);
}
protected void hook107( boolean wasCleaned) throws DatabaseException {
if (wasCleaned) {
nLNsDead++;
}
original(wasCleaned);
}
protected void hook108( boolean wasCleaned) throws DatabaseException {
if (wasCleaned) {
nLNsDead++;
}
original(wasCleaned);
}
protected void hook109() throws DatabaseException {
nLNsMigrated++;
original();
}
protected void hook110( boolean wasCleaned) throws DatabaseException {
if (wasCleaned) {
nLNsLocked++;
}
original(wasCleaned);
}
protected void hook111( boolean wasCleaned) throws DatabaseException {
if (wasCleaned) {
nLNsDead++;
}
original(wasCleaned);
}
}