view src/org/dancres/blitz/entry/CountersImpl.java @ 35:6f68e94c1fb8 default tip

Add CondensedStats monitoring utility, equivalent to vmstat
author Dominic Cleal <dominic-cleal@cdo2.com>
date Thu, 05 Aug 2010 11:07:25 +0100
parents 3dc0c5604566
children
line wrap: on
line source

package org.dancres.blitz.entry;

/**
   Manages operation and instance counters
 */
class CountersImpl implements Counters {
    private OpSwitchListener theOpSwitchListener;
    private InstanceSwitchListener theInstanceSwitchListener;

    CountersImpl(String aType, int anInitialCount) {
        theOpSwitchListener = new OpSwitchListener(aType);
        theInstanceSwitchListener =
            new InstanceSwitchListener(aType, anInitialCount);
    }

    public int getInstanceCount() {
        return theInstanceSwitchListener.getTotal();
    }

    public void didRead() {
        // Reads are only relevant to op counts not instance counts
        theOpSwitchListener.didRead();
    }

    public void didTake() {
        theOpSwitchListener.didTake();
        theInstanceSwitchListener.took();
    }

    public void didWrite() {
        theOpSwitchListener.didWrite();
        theInstanceSwitchListener.wrote();
    }

    public void didPurge() {
        theInstanceSwitchListener.took();
    }

    void destroy() {
        theOpSwitchListener.destroy();
        theInstanceSwitchListener.destroy();
    }
}