Třída CountAllIterations počítá počet cyklů provedení kódu všemi virtuálními uživateli provozujícími určité prostředí JVM a vrací tento počet jako řetězec.
package customcode;
import com.ibm.rational.test.lt.kernel.services.ITestExecutionServices;
/**
* Třída CountAllIterations počítá počet cyklů provedení kódu všemi
* virtuálními uživateli provozujícími určité prostředí JVM a vrací tento
* počet jako řetězec. Pokud všichni virtuální uživatelé na agentovi provozují
* stejné prostředí JVM (obvyklý případ), bude tato třída počítat počet cyklů
* provedení kódu na agentovi.
*/
/**
* @author IBM Custom Code Samples
*/
public class CountAllIterations implements
com.ibm.rational.test.lt.kernel.custom.ICustomCode2 {
private static int numJVMLoops = 0;
/**
* Instance tohoto se vytvoří pomocí konstruktoru no-arg.
*/
public CountAllIterations() {
}
public String exec(ITestExecutionServices tes, String[] args) {
return Integer.toString(++numJVMLoops);
}
}
Třída CountUserIterations vypočítává počet cyklů provedení kódu jednotlivým virtuálním uživatelem.
package customcode;
import com.ibm.rational.test.lt.kernel.services.ITestExecutionServices;
import com.ibm.rational.test.lt.kernel.IDataArea;
/**
* Třída CountUserIterations počítá počet cyklů provedení kódu
* jedním virtuálním uživatelem a vrací tento počet jako řetězec.
*/
/**
* @author IBM Custom Code Samples
*/
public class CountUserIterations implements
com.ibm.rational.test.lt.kernel.custom.ICustomCode2 {
/**
* Instance tohoto se vytvoří pomocí konstruktoru no-arg.
*/
public CountUserIterations() {
}
public String exec(ITestExecutionServices tes, String[] args) {
IDataArea userDataArea = tes.findDataArea(IDataArea.VIRTUALUSER);
final String KEY = "NumberIterationsPerUser";
Number numPerUser = (Number)userDataArea.get(KEY);
if (numPerUser == null) {
numPerUser = new Number();
userDataArea.put(KEY, numPerUser);
}
numPerUser.value++;
return Integer.toString(numPerUser.value);
}
private class Number {
public int value = 0;
}
}