package com.sleepycat.je.latch; import java.io.Serializable; import de.ovgu.cide.jakutil.*; /** * A class that provides interesting stats about a particular latch. */ public class LatchStats implements Cloneable, Serializable { public int nAcquiresNoWaiters=0; /** * Number of times acquire() was called when the latch was already owned by * the caller. */ public int nAcquiresSelfOwned=0; /** * Number of times acquire() was called with allowNesting=true when the * latch was already owned by the caller for shared access. */ public int nAcquiresUpgrade=0; /** * Number of times acquire() was called when the latch was already owned by * the some other thread. */ public int nAcquiresWithContention=0; /** * Number of times acquireNoWait() was called when the latch was * successfully acquired. */ public int nAcquireNoWaitSuccessful=0; /** * Number of unsuccessful acquireNoWait() calls. */ public int nAcquireNoWaitUnsuccessful=0; /** * Number of times acquireShared() was called when the latch was * successfully acquired. */ public int nAcquireSharedSuccessful=0; /** * Numbed of calls to release(); */ public int nReleases=0; public String toString(){ StringBuffer sb=new StringBuffer(); sb.append("nAcquiresNoWaiters=").append(nAcquiresNoWaiters).append('\n'); sb.append("nAcquiresSelfOwned=").append(nAcquiresSelfOwned).append('\n'); sb.append("nAcquiresUpgrade=").append(nAcquiresUpgrade).append('\n'); sb.append("nAcquiresWithContention=").append(nAcquiresWithContention).append('\n'); sb.append("nAcquiresNoWaitSuccessful=").append(nAcquireNoWaitSuccessful).append('\n'); sb.append("nAcquiresNoWaitUnSuccessful=").append(nAcquireNoWaitUnsuccessful).append('\n'); sb.append("nAcquiresSharedSuccessful=").append(nAcquireSharedSuccessful).append('\n'); return sb.toString(); } public Object clone() throws CloneNotSupportedException { return super.clone(); } }