Use transactions and statistics
You can use custom code to start transactions, gather additional statistics during a transaction, and stop a transaction.
The following code shows how to start a transaction. Transactions that are generated by test execution services automatically create and manage statistics.
package customcode; import com.ibm.rational.test.lt.kernel.services.ITestExecutionServices; import com.ibm.rational.test.lt.kernel.services.ITransaction; /** * @author IBM Custom Code Samples */ public class BeginTransaction implements com.ibm.rational.test.lt.kernel.custom.ICustomCode2 { /** * Instances of this will be created using the no-arg constructor. */ public BeginTransaction() { } /** * For Javadoc information on the ICustomCode2 and ITestExecutionServices interfaces, * see the 'Test execution services interfaces and classes' help topic. */ public String exec(ITestExecutionServices tes, String[] args) { // the name of the transaction could have been passed in via data correlation mechanism. ITransaction foo = tes.getTransaction("foo"); foo.start(); return null; } }
The following code shows how to gather additional statistics during a transaction.
package customcode; import com.ibm.rational.test.lt.kernel.ITime; import com.ibm.rational.test.lt.kernel.services.ITestExecutionServices; import com.ibm.rational.test.lt.kernel.statistics.IScalar; import com.ibm.rational.test.lt.kernel.statistics.IStat; import com.ibm.rational.test.lt.kernel.statistics.IStatTree; import com.ibm.rational.test.lt.kernel.statistics.impl.StatType; /** * @author IBM Custom Code Samples */ public class BodyTransaction implements com.ibm.rational.test.lt.kernel.custom.ICustomCode2 { /** * Instances of this will be created using the no-arg constructor. */ public BodyTransaction() { } /** * For Javadoc information on the ICustomCode2 and ITestExecutionServices interfaces, * see the 'Test execution services interfaces and classes' help topic. */ public String exec(ITestExecutionServices tes, String[] args) { IStatTree tranStat; IStatTree timeStat; IStatTree countStat; IStat timeDataStat = null; // counter for the time RANGE IScalar countDataStat = null; // counter for the count SCALAR ITime timer = tes.getTime(); IStatTree rootStat = tes.getStatisticsManager().getStatTree(); if (rootStat != null) { // these counters set up the hierarchy tranStat = rootStat.getStat("Transactions", StatType.STRUCTURE); timeStat = tranStat.getStat("Body Time", StatType.STRUCTURE); countStat = tranStat.getStat("Bocy Count", StatType.STRUCTURE); // the name of the counters could have been passed in via data correlation mechanism timeDataStat = (IStat) timeStat.getStat("foo", StatType.RANGE); countDataStat = (IScalar) countStat.getStat("foo", StatType.SCALAR); } // get the start time long startTime = timer.timeInTest(); // do the work // whatever that work might be // get the end time long endTime = timer.timeInTest(); // update timeDataStat with the elapsed time if (timeDataStat != null) timeDataStat.submitDataPoint(endTime - startTime); // update the countDataStat if (countDataStat != null) countDataStat.increment(); return null; } }
The following code shows how to stop a transaction.
package customcode; import com.ibm.rational.test.lt.kernel.services.ITestExecutionServices; import com.ibm.rational.test.lt.kernel.services.ITransaction; /** * @author IBM Custom Code Samples */ public class EndTransaction implements com.ibm.rational.test.lt.kernel.custom.ICustomCode2 { /** * Instances of this will be created using the no-arg constructor. */ public EndTransaction() { } /** * For Javadoc information on the ICustomCode2 and ITestExecutionServices interfaces, * see the 'Test execution services interfaces and classes' help topic. */ public String exec(ITestExecutionServices tes, String[] args) { // the name of the transaction could have been passed in via data correlation mechanism. ITransaction foo = tes.getTransaction("foo"); foo.stop(); return null; } }
Error 404 - Not Found Error 404 - Not Found
The document you are looking for may have been removed or re-named. Please contact the web site owner for further assistance.