package com.sleepycat.je; import java.io.Serializable; import java.util.Date; import de.ovgu.cide.jakutil.*; /** * Javadoc for this public class is generated * via the doc templates in the doc_src directory. */ public class TransactionStats implements Serializable { /** * The time the last completed checkpoint finished (as the number * of seconds since the Epoch, returned by the IEEE/ANSI Std * 1003.1 (POSIX) time interface). */ private long lastCheckpointTime; /** * The last transaction ID allocated. */ private long lastTxnId; /** * The number of transactions that are currently active. */ private int nActive; /** * The number of transactions that have begun. */ private int nBegins; /** * The number of transactions that have aborted. */ private int nAborts; /** * The number of transactions that have committed. */ private int nCommits; /** * The number of XA transactions that have aborted. */ private int nXAAborts; /** * The number of XA transactions that have been prepared. */ private int nXAPrepares; /** * The number of XA transactions that have committed. */ private int nXACommits; /** * The array of active transactions. Each element of the array is * an object of type TransactionStats.Active. */ private Active activeTxns[]; /** * Internal use only. */ public TransactionStats(){ } /** * The Active class represents an active transaction. */ public static class Active implements Serializable { /** * The transaction ID of the transaction. */ private long txnId; /** * The transaction ID of the parent transaction (or 0, if no parent). */ private long parentId; /** * The transaction name, including the thread name if available. */ private String name; /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public long getId(){ return txnId; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public long getParentId(){ return parentId; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public String getName(){ return name; } /** * Internal use only. */ public Active( String name, long txnId, long parentId){ this.name=name; this.txnId=txnId; this.parentId=parentId; } public String toString(){ return "txnId = " + txnId + " txnName = "+ name; } } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public Active[] getActiveTxns(){ return activeTxns; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public long getLastCheckpointTime(){ return lastCheckpointTime; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public long getLastTxnId(){ return lastTxnId; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public int getNAborts(){ return nAborts; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public int getNXAAborts(){ return nXAAborts; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public int getNXAPrepares(){ return nXAPrepares; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public int getNActive(){ return nActive; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public int getNBegins(){ return nBegins; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public int getNCommits(){ return nCommits; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public int getNXACommits(){ return nXACommits; } /** * Internal use only. */ public void setActiveTxns( Active[] actives){ activeTxns=actives; } /** * Internal use only. */ public void setLastCheckpointTime( long l){ lastCheckpointTime=l; } /** * Internal use only. */ public void setLastTxnId( long val){ lastTxnId=val; } /** * Internal use only. */ public void setNAborts( int val){ nAborts=val; } /** * Internal use only. */ public void setNXAAborts( int val){ nXAAborts=val; } /** * Internal use only. */ public void setNActive( int val){ nActive=val; } /** * Internal use only. */ public void setNBegins( int val){ nBegins=val; } /** * Internal use only. */ public void setNCommits( int val){ nCommits=val; } /** * Internal use only. */ public void setNXACommits( int val){ nXACommits=val; } /** * Internal use only. */ public void setNXAPrepares( int val){ nXAPrepares=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("nBegins=").append(nBegins).append('\n'); sb.append("nAborts=").append(nAborts).append('\n'); sb.append("nCommits=").append(nCommits).append('\n'); sb.append("nXAPrepares=").append(nXAPrepares).append('\n'); sb.append("nXAAborts=").append(nXAAborts).append('\n'); sb.append("nXACommits=").append(nXACommits).append('\n'); sb.append("nActive=").append(nActive).append('\n'); sb.append("activeTxns=["); if (activeTxns != null) { for (int i=0; i < activeTxns.length; i+=1) { sb.append(" ").append(activeTxns[i]).append('\n'); } } sb.append("]\n"); sb.append("lastTxnId=").append(lastTxnId).append('\n'); sb.append("lastCheckpointTime=").append(new Date(lastCheckpointTime)).append('\n'); return sb.toString(); } }