Výpočet počtu cyklů provedení kódu

Třída CountAllIterations vypočítává počet cyklů provedení kódu všemi virtuálními uživateli. Třída CountUserIterations vypočítává počet cyklů provedení kódu jednotlivým virtuálním uživatelem.

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;
    }
}

Váš názor