Подсчет количества выполнений кода

Класс CountAllIterations подсчитывает количество выполнений кода всеми виртуальными пользователями. Класс CountUserIterations подсчитывает количество выполнений кода отдельным виртуальным пользователем.

Класс CountAllIterations подсчитывает количество выполнений кода всеми виртуальными пользователями, работающими в конкретной JVM, и возвращает это значение в виде строки.

package customcode;

import com.ibm.rational.test.lt.kernel.services.ITestExecutionServices;

/**
 * Класс CountAllIterations подсчитывает количество выполнений кода всеми
 * виртуальными пользователями, работающими в конкретной JVM, и возвращает это
 * значение в виде строки. Если все виртуальные пользователи на агенте работают
 * в одной JVM (наиболее типичный случай), то этот класс подсчитает количество
 * выполнений кода на агенте.
 */

/**
 * @author Примеры пользовательского кода IBM
 */

public class CountAllIterations implements
        com.ibm.rational.test.lt.kernel.custom.ICustomCode2 {
    private static int numJVMLoops = 0;

    /**
     	 * Экземпляры этого объекта будут созданы с помощью конструктора no-arg.
     */
    public CountAllIterations() {
    }

    public String exec(ITestExecutionServices tes, String[] args) {
        return Integer.toString(++numJVMLoops);
    }
}  

Класс CountUserIterations подсчитывает количество выполнений кода отдельным виртуальным пользователем.

package customcode;

import com.ibm.rational.test.lt.kernel.services.ITestExecutionServices;
import com.ibm.rational.test.lt.kernel.IDataArea;

/**
 * Класс CountUserIterations подсчитывает количество выполнений кода отдельным
 * виртуальным пользователем и возвращает это значение в виде строки.
 */

/**
 * @author Примеры пользовательского кода IBM
 */

public class CountUserIterations implements
        com.ibm.rational.test.lt.kernel.custom.ICustomCode2 {

    /**
     * Экземпляры этого объекта будут созданы с помощью конструктора 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;
    }
}

Комментарии