Search in sources :

Example 11 with ThreadSpawner

use of com.hazelcast.simulator.utils.ThreadSpawner in project hazelcast-simulator by hazelcast.

the class StartWorkersTask method startWorkers.

private void startWorkers(Map<SimulatorAddress, List<WorkerParameters>> deploymentPlan) {
    ThreadSpawner spawner = new ThreadSpawner("createWorkers", true);
    for (Map.Entry<SimulatorAddress, List<WorkerParameters>> entry : deploymentPlan.entrySet()) {
        SimulatorAddress agentAddress = entry.getKey();
        AgentData agent = registry.getAgent(agentAddress);
        for (WorkerParameters workerParameters : entry.getValue()) {
            spawner.spawn(new CreateWorkerOnAgentTask(workerParameters, startupDelayMs * workerStartupIndex, agent));
            workerStartupIndex++;
        }
    }
    spawner.awaitCompletion();
}
Also used : AgentData(com.hazelcast.simulator.coordinator.registry.AgentData) List(java.util.List) Arrays.asList(java.util.Arrays.asList) LinkedList(java.util.LinkedList) WorkerParameters(com.hazelcast.simulator.agent.workerprocess.WorkerParameters) HashMap(java.util.HashMap) Map(java.util.Map) SimulatorAddress(com.hazelcast.simulator.protocol.core.SimulatorAddress) ThreadSpawner(com.hazelcast.simulator.utils.ThreadSpawner)

Example 12 with ThreadSpawner

use of com.hazelcast.simulator.utils.ThreadSpawner in project hazelcast-simulator by hazelcast.

the class TimeStepRunStrategy method getRunCallable.

@Override
public Callable getRunCallable() {
    return new Callable() {

        @Override
        public Object call() throws Exception {
            try {
                LOGGER.info(format("Spawning %d worker threads for running %s", totalThreadCount, testContext.getTestId()));
                if (totalThreadCount <= 0) {
                    return null;
                }
                runners = createRunners();
                onRunStarted();
                ThreadSpawner spawner = spawnThreads(runners);
                spawner.awaitCompletion();
                return null;
            } finally {
                onRunCompleted();
            }
        }
    };
}
Also used : Callable(java.util.concurrent.Callable) ThreadSpawner(com.hazelcast.simulator.utils.ThreadSpawner)

Example 13 with ThreadSpawner

use of com.hazelcast.simulator.utils.ThreadSpawner in project hazelcast-simulator by hazelcast.

the class Provisioner method killJavaProcesses.

void killJavaProcesses(final boolean sudo) {
    onlineCheckAgents(properties, registry);
    ensureIsRemoteSetup(properties, "kill");
    long started = System.nanoTime();
    logWithRuler("Killing %s Java processes...", registry.agentCount());
    ThreadSpawner spawner = new ThreadSpawner("killJavaProcesses", true);
    for (final AgentData agent : registry.getAgents()) {
        spawner.spawn(new Runnable() {

            @Override
            public void run() {
                log("    Killing Java processes on %s", agent.getPublicAddress());
                bash.killAllJavaProcesses(agent.getPublicAddress(), sudo);
            }
        });
    }
    spawner.awaitCompletion();
    long elapsed = getElapsedSeconds(started);
    logWithRuler("Successfully killed %s Java processes (%s seconds)", registry.agentCount(), elapsed);
}
Also used : AgentData(com.hazelcast.simulator.coordinator.registry.AgentData) ThreadSpawner(com.hazelcast.simulator.utils.ThreadSpawner)

Example 14 with ThreadSpawner

use of com.hazelcast.simulator.utils.ThreadSpawner in project hazelcast-simulator by hazelcast.

the class MapTransactionGetForUpdateTest method run.

@Run
public void run() {
    ThreadSpawner spawner = new ThreadSpawner(name);
    for (int i = 0; i < threadCount; i++) {
        spawner.spawn(new Worker());
    }
    spawner.awaitCompletion();
}
Also used : ThreadSpawner(com.hazelcast.simulator.utils.ThreadSpawner) Run(com.hazelcast.simulator.test.annotations.Run)

Aggregations

ThreadSpawner (com.hazelcast.simulator.utils.ThreadSpawner)14 AgentData (com.hazelcast.simulator.coordinator.registry.AgentData)5 Run (com.hazelcast.simulator.test.annotations.Run)5 WorkerParameters (com.hazelcast.simulator.agent.workerprocess.WorkerParameters)1 TestCaseRunner (com.hazelcast.simulator.coordinator.TestCaseRunner)1 SimulatorAddress (com.hazelcast.simulator.protocol.core.SimulatorAddress)1 ArrayList (java.util.ArrayList)1 Arrays.asList (java.util.Arrays.asList)1 HashMap (java.util.HashMap)1 LinkedList (java.util.LinkedList)1 List (java.util.List)1 Map (java.util.Map)1 Callable (java.util.concurrent.Callable)1 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)1