mirror of
https://github.com/nosqlbench/nosqlbench.git
synced 2025-02-25 18:55:28 -06:00
Merge pull request #1690 from nosqlbench/jshook/container-not-context
change all references of context to container
This commit is contained in:
commit
1f9235b680
@ -113,7 +113,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.antlr</groupId>
|
<groupId>org.antlr</groupId>
|
||||||
<artifactId>antlr4-maven-plugin</artifactId>
|
<artifactId>antlr4-maven-plugin</artifactId>
|
||||||
<version>4.13.0</version>
|
<version>4.13.1</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<sourceDirectory>src/main/java/io/nosqlbench/cqlgen/grammars
|
<sourceDirectory>src/main/java/io/nosqlbench/cqlgen/grammars
|
||||||
</sourceDirectory>
|
</sourceDirectory>
|
||||||
|
@ -20,7 +20,8 @@ import com.codahale.metrics.Timer;
|
|||||||
import groovy.lang.Binding;
|
import groovy.lang.Binding;
|
||||||
import io.nosqlbench.adapters.api.activityimpl.uniform.DriverAdapter;
|
import io.nosqlbench.adapters.api.activityimpl.uniform.DriverAdapter;
|
||||||
import io.nosqlbench.adapters.api.activityimpl.uniform.flowtypes.Op;
|
import io.nosqlbench.adapters.api.activityimpl.uniform.flowtypes.Op;
|
||||||
import io.nosqlbench.adapters.api.evalcontext.*;
|
import io.nosqlbench.adapters.api.evalctx.*;
|
||||||
|
import io.nosqlbench.adapters.api.evalctx.*;
|
||||||
import io.nosqlbench.adapters.api.metrics.ThreadLocalNamedTimers;
|
import io.nosqlbench.adapters.api.metrics.ThreadLocalNamedTimers;
|
||||||
import io.nosqlbench.adapters.api.templating.ParsedOp;
|
import io.nosqlbench.adapters.api.templating.ParsedOp;
|
||||||
import io.nosqlbench.nb.api.labels.NBLabels;
|
import io.nosqlbench.nb.api.labels.NBLabels;
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
package io.nosqlbench.adapters.api.activityimpl;
|
package io.nosqlbench.adapters.api.activityimpl;
|
||||||
|
|
||||||
import io.nosqlbench.adapters.api.evalcontext.CycleFunction;
|
import io.nosqlbench.adapters.api.evalctx.CycleFunction;
|
||||||
|
|
||||||
import java.util.function.LongFunction;
|
import java.util.function.LongFunction;
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.nosqlbench.adapters.api.evalcontext;
|
package io.nosqlbench.adapters.api.evalctx;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.nosqlbench.adapters.api.evalcontext;
|
package io.nosqlbench.adapters.api.evalctx;
|
||||||
|
|
||||||
import java.util.function.LongFunction;
|
import java.util.function.LongFunction;
|
||||||
|
|
@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.nosqlbench.adapters.api.evalcontext;
|
package io.nosqlbench.adapters.api.evalctx;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.BinaryOperator;
|
import java.util.function.BinaryOperator;
|
@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.nosqlbench.adapters.api.evalcontext;
|
package io.nosqlbench.adapters.api.evalctx;
|
||||||
|
|
||||||
public interface ExpressionDetails {
|
public interface ExpressionDetails {
|
||||||
String getExpressionDetails();
|
String getExpressionDetails();
|
@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.nosqlbench.adapters.api.evalcontext;
|
package io.nosqlbench.adapters.api.evalctx;
|
||||||
|
|
||||||
import groovy.lang.Binding;
|
import groovy.lang.Binding;
|
||||||
import io.nosqlbench.virtdata.core.templates.ParsedTemplateString;
|
import io.nosqlbench.virtdata.core.templates.ParsedTemplateString;
|
@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.nosqlbench.adapters.api.evalcontext;
|
package io.nosqlbench.adapters.api.evalctx;
|
||||||
|
|
||||||
import groovy.lang.Binding;
|
import groovy.lang.Binding;
|
||||||
import groovy.lang.GroovyShell;
|
import groovy.lang.GroovyShell;
|
@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.nosqlbench.adapters.api.evalcontext;
|
package io.nosqlbench.adapters.api.evalctx;
|
||||||
|
|
||||||
import groovy.lang.Binding;
|
import groovy.lang.Binding;
|
||||||
import io.nosqlbench.virtdata.core.templates.ParsedTemplateString;
|
import io.nosqlbench.virtdata.core.templates.ParsedTemplateString;
|
@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.nosqlbench.adapters.api.evalcontext;
|
package io.nosqlbench.adapters.api.evalctx;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.nosqlbench.adapters.api.evalcontext;
|
package io.nosqlbench.adapters.api.evalctx;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.nosqlbench.adapters.api.evalcontext;
|
package io.nosqlbench.adapters.api.evalctx;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implementors of this type can have variables set on them for later use.
|
* Implementors of this type can have variables set on them for later use.
|
@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package io.nosqlbench.adapters.api.evalcontext;
|
package io.nosqlbench.adapters.api.evalcontext;
|
||||||
|
|
||||||
|
import io.nosqlbench.adapters.api.evalctx.CompoundCycleFunction;
|
||||||
|
import io.nosqlbench.adapters.api.evalctx.GroovyCycleFunction;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
package io.nosqlbench.adapters.api.evalcontext;
|
package io.nosqlbench.adapters.api.evalcontext;
|
||||||
|
|
||||||
import groovy.lang.MissingPropertyException;
|
import groovy.lang.MissingPropertyException;
|
||||||
|
import io.nosqlbench.adapters.api.evalctx.GroovyBooleanCycleFunction;
|
||||||
|
import io.nosqlbench.adapters.api.evalctx.GroovyCycleFunction;
|
||||||
import io.nosqlbench.virtdata.core.templates.ParsedTemplateString;
|
import io.nosqlbench.virtdata.core.templates.ParsedTemplateString;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
@ -19,19 +19,15 @@ package io.nosqlbench.engine.cli;
|
|||||||
import io.nosqlbench.engine.cmdstream.Cmd;
|
import io.nosqlbench.engine.cmdstream.Cmd;
|
||||||
import io.nosqlbench.engine.cmdstream.CmdType;
|
import io.nosqlbench.engine.cmdstream.CmdType;
|
||||||
import io.nosqlbench.engine.cmdstream.NBJavaCommandLoader;
|
import io.nosqlbench.engine.cmdstream.NBJavaCommandLoader;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBInvokableCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBInvokableCommand;
|
||||||
import io.nosqlbench.engine.core.lifecycle.session.NBInvokableResolver;
|
import io.nosqlbench.engine.core.lifecycle.session.NBInvokableResolver;
|
||||||
import io.nosqlbench.nb.annotations.Service;
|
import io.nosqlbench.nb.annotations.Service;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Service(value= NBInvokableResolver.class,selector = "java")
|
@Service(value= NBInvokableResolver.class,selector = "java")
|
||||||
public class NBJavaNativeResolver implements NBInvokableResolver {
|
public class NBJavaNativeResolver implements NBInvokableResolver {
|
||||||
@Override
|
@Override
|
||||||
public NBInvokableCommand resolve(Cmd cmd, NBBufferedCommandContext parent, String phaseName) {
|
public NBInvokableCommand resolve(Cmd cmd, NBBufferedContainer parent, String phaseName) {
|
||||||
return switch (cmd.getCmdType()) {
|
return switch (cmd.getCmdType()) {
|
||||||
case CmdType.indirect -> NBJavaCommandLoader.init(cmd.getArgValue("_impl"), parent, phaseName, cmd.getTargetContext());
|
case CmdType.indirect -> NBJavaCommandLoader.init(cmd.getArgValue("_impl"), parent, phaseName, cmd.getTargetContext());
|
||||||
case CmdType.java -> NBJavaCommandLoader.init(cmd.getArgValue("class"), parent, phaseName, cmd.getTargetContext());
|
case CmdType.java -> NBJavaCommandLoader.init(cmd.getArgValue("class"), parent, phaseName, cmd.getTargetContext());
|
||||||
|
@ -106,7 +106,7 @@ public class NBCLIScenarioPreprocessorTest {
|
|||||||
assertThat(cmds.size()).isEqualTo(1);
|
assertThat(cmds.size()).isEqualTo(1);
|
||||||
assertThat(cmds.get(0).getArgMap()).isEqualTo(Map.of(
|
assertThat(cmds.get(0).getArgMap()).isEqualTo(Map.of(
|
||||||
"alias", "with_template",
|
"alias", "with_template",
|
||||||
"context", "template_test",
|
"container", "template_test",
|
||||||
"cycles", "20",
|
"cycles", "20",
|
||||||
"cycles-test", "20",
|
"cycles-test", "20",
|
||||||
"driver", "stdout",
|
"driver", "stdout",
|
||||||
@ -123,7 +123,7 @@ public class NBCLIScenarioPreprocessorTest {
|
|||||||
assertThat(cmds.size()).isEqualTo(1);
|
assertThat(cmds.size()).isEqualTo(1);
|
||||||
assertThat(cmds.get(0).getArgMap()).isEqualTo(Map.of(
|
assertThat(cmds.get(0).getArgMap()).isEqualTo(Map.of(
|
||||||
"alias", "schema",
|
"alias", "schema",
|
||||||
"context", "schema_only",
|
"container", "schema_only",
|
||||||
"cycles-test", "20",
|
"cycles-test", "20",
|
||||||
"driver", "stdout",
|
"driver", "stdout",
|
||||||
"labels", "workload:scenario_test,scenario:schema_only",
|
"labels", "workload:scenario_test,scenario:schema_only",
|
||||||
@ -177,7 +177,7 @@ public class NBCLIScenarioPreprocessorTest {
|
|||||||
assertThat(cmds.size()).isEqualTo(1);
|
assertThat(cmds.size()).isEqualTo(1);
|
||||||
assertThat(cmds.get(0).getArgMap()).isEqualTo(Map.of(
|
assertThat(cmds.get(0).getArgMap()).isEqualTo(Map.of(
|
||||||
"alias", "schema",
|
"alias", "schema",
|
||||||
"context", "schema_only",
|
"container", "schema_only",
|
||||||
"cycles-test", "20",
|
"cycles-test", "20",
|
||||||
"driver", "stdout",
|
"driver", "stdout",
|
||||||
"labels", "workload:scenario_test,scenario:schema_only",
|
"labels", "workload:scenario_test,scenario:schema_only",
|
||||||
|
@ -108,7 +108,7 @@ public interface Activity extends Comparable<Activity>, ActivityDefObserver, Pro
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the cycle rate limiter for this activity. This method should only
|
* Set the cycle rate limiter for this activity. This method should only
|
||||||
* be used in a non-concurrent context. Otherwise, the supplier version
|
* be used non-concurrently. Otherwise, the supplier version
|
||||||
* {@link #getCycleRateLimiter(Supplier)} should be used.
|
* {@link #getCycleRateLimiter(Supplier)} should be used.
|
||||||
* @param rateLimiter The cycle {@link RateLimiter} for this activity
|
* @param rateLimiter The cycle {@link RateLimiter} for this activity
|
||||||
*/
|
*/
|
||||||
@ -133,7 +133,7 @@ public interface Activity extends Comparable<Activity>, ActivityDefObserver, Pro
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the stride rate limiter for this activity. This method should only
|
* Set the stride rate limiter for this activity. This method should only
|
||||||
* be used in a non-concurrent context. Otherwise, the supplier version
|
* be used non-concurrently. Otherwise, the supplier version
|
||||||
* {@link #getStrideRateLimiter(Supplier)}} should be used.
|
* {@link #getStrideRateLimiter(Supplier)}} should be used.
|
||||||
* @param rateLimiter The stride {@link RateLimiter} for this activity.
|
* @param rateLimiter The stride {@link RateLimiter} for this activity.
|
||||||
*/
|
*/
|
||||||
|
@ -56,7 +56,7 @@ public interface AsyncAction<D> extends Action {
|
|||||||
* be started (according to the configured concurrency limits),
|
* be started (according to the configured concurrency limits),
|
||||||
* then it can signal such by returning true from this method.
|
* then it can signal such by returning true from this method.
|
||||||
*
|
*
|
||||||
* @param opc The op context that holds state for this operation
|
* @param opc The op ctx that holds state for this operation
|
||||||
* @return true, if the action is ready immediately for another operation
|
* @return true, if the action is ready immediately for another operation
|
||||||
*/
|
*/
|
||||||
boolean enqueue(TrackedOp<D> opc);
|
boolean enqueue(TrackedOp<D> opc);
|
||||||
|
@ -20,7 +20,7 @@ import com.codahale.metrics.Histogram;
|
|||||||
import com.codahale.metrics.Timer;
|
import com.codahale.metrics.Timer;
|
||||||
import io.nosqlbench.adapters.api.activityimpl.OpDispenser;
|
import io.nosqlbench.adapters.api.activityimpl.OpDispenser;
|
||||||
import io.nosqlbench.adapters.api.activityimpl.uniform.flowtypes.*;
|
import io.nosqlbench.adapters.api.activityimpl.uniform.flowtypes.*;
|
||||||
import io.nosqlbench.adapters.api.evalcontext.CycleFunction;
|
import io.nosqlbench.adapters.api.evalctx.CycleFunction;
|
||||||
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
|
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
|
||||||
import io.nosqlbench.nb.api.errors.ResultVerificationError;
|
import io.nosqlbench.nb.api.errors.ResultVerificationError;
|
||||||
import io.nosqlbench.engine.api.activityapi.core.ActivityDefObserver;
|
import io.nosqlbench.engine.api.activityapi.core.ActivityDefObserver;
|
||||||
|
@ -204,8 +204,8 @@ public class NBCLIScenarioPreprocessor {
|
|||||||
buildingCmd.put("alias", "alias=" + WORKLOAD_SCENARIO_STEP);
|
buildingCmd.put("alias", "alias=" + WORKLOAD_SCENARIO_STEP);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!buildingCmd.containsKey("context")) {
|
if (!buildingCmd.containsKey("container")) {
|
||||||
buildingCmd.put("context","context="+scenarioName);
|
buildingCmd.put("container","container="+scenarioName);
|
||||||
}
|
}
|
||||||
if (!buildingCmd.containsKey("step")) {
|
if (!buildingCmd.containsKey("step")) {
|
||||||
buildingCmd.put("step","step="+stepName);
|
buildingCmd.put("step","step="+stepName);
|
||||||
|
@ -21,15 +21,15 @@ import org.graalvm.polyglot.*;
|
|||||||
public class GraalJsEvaluator<T> implements ExprEvaluator<T> {
|
public class GraalJsEvaluator<T> implements ExprEvaluator<T> {
|
||||||
|
|
||||||
private final Class<T> resultType;
|
private final Class<T> resultType;
|
||||||
private Context context;
|
private Context ctx;
|
||||||
private Source script;
|
private Source script;
|
||||||
|
|
||||||
public GraalJsEvaluator(Class<T> resultType) {
|
public GraalJsEvaluator(Class<T> resultType) {
|
||||||
this.resultType = resultType;
|
this.resultType = resultType;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Context getContext() {
|
private Context getCtx() {
|
||||||
if (context == null) {
|
if (ctx == null) {
|
||||||
Context.Builder contextSettings = Context.newBuilder("js")
|
Context.Builder contextSettings = Context.newBuilder("js")
|
||||||
.allowHostAccess(HostAccess.ALL)
|
.allowHostAccess(HostAccess.ALL)
|
||||||
.allowNativeAccess(true)
|
.allowNativeAccess(true)
|
||||||
@ -43,14 +43,14 @@ public class GraalJsEvaluator<T> implements ExprEvaluator<T> {
|
|||||||
.allowPolyglotAccess(PolyglotAccess.ALL)
|
.allowPolyglotAccess(PolyglotAccess.ALL)
|
||||||
.option("js.ecmascript-version", "2020")
|
.option("js.ecmascript-version", "2020")
|
||||||
.option("js.nashorn-compat", "true");
|
.option("js.nashorn-compat", "true");
|
||||||
context = contextSettings.build();
|
ctx = contextSettings.build();
|
||||||
}
|
}
|
||||||
return context;
|
return ctx;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public T eval() {
|
public T eval() {
|
||||||
Value result = getContext().eval(this.script);
|
Value result = getCtx().eval(this.script);
|
||||||
T asType = result.as(resultType);
|
T asType = result.as(resultType);
|
||||||
return asType;
|
return asType;
|
||||||
}
|
}
|
||||||
@ -63,7 +63,7 @@ public class GraalJsEvaluator<T> implements ExprEvaluator<T> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ExprEvaluator<T> put(String varName, Object var) {
|
public ExprEvaluator<T> put(String varName, Object var) {
|
||||||
getContext().getBindings("js").putMember(varName, var);
|
getCtx().getBindings("js").putMember(varName, var);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,13 +16,11 @@
|
|||||||
|
|
||||||
package io.nosqlbench.engine.cmdstream;
|
package io.nosqlbench.engine.cmdstream;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.session.CmdParser;
|
|
||||||
import io.nosqlbench.nb.api.errors.BasicError;
|
import io.nosqlbench.nb.api.errors.BasicError;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
|
||||||
import java.security.InvalidParameterException;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -44,8 +42,8 @@ public class Cmd {
|
|||||||
return targetContextName;
|
return targetContextName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Cmd forTargetContext(String contextName, String stepName) {
|
public Cmd forContainer(String containerName, String stepName) {
|
||||||
return new Cmd(cmdType, cmdArgs, contextName, stepName);
|
return new Cmd(cmdType, cmdArgs, containerName, stepName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ public enum CmdType {
|
|||||||
await(CmdParam.of("activity")),
|
await(CmdParam.of("activity")),
|
||||||
waitMillis(CmdParam.of("ms", Long::parseLong)),
|
waitMillis(CmdParam.of("ms", Long::parseLong)),
|
||||||
fragment(CmdParam.ofFreeform("fragment")),
|
fragment(CmdParam.ofFreeform("fragment")),
|
||||||
context(CmdParam.of("name")),
|
container(CmdParam.of("name")),
|
||||||
indirect(CmdParam.of("indirect"));
|
indirect(CmdParam.of("indirect"));
|
||||||
|
|
||||||
private final CmdParam<?>[] positional;
|
private final CmdParam<?>[] positional;
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
package io.nosqlbench.engine.core.lifecycle.activity;
|
package io.nosqlbench.engine.core.lifecycle.activity;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
@ -24,9 +24,9 @@ public class ActivitiesExceptionHandler implements Thread.UncaughtExceptionHandl
|
|||||||
|
|
||||||
private static final Logger logger = LogManager.getLogger(ActivitiesExceptionHandler.class);
|
private static final Logger logger = LogManager.getLogger(ActivitiesExceptionHandler.class);
|
||||||
|
|
||||||
private final ContextActivitiesController controller;
|
private final ContainerActivitiesController controller;
|
||||||
|
|
||||||
public ActivitiesExceptionHandler(ContextActivitiesController controller) {
|
public ActivitiesExceptionHandler(ContainerActivitiesController controller) {
|
||||||
this.controller = controller;
|
this.controller = controller;
|
||||||
logger.debug(() -> "Activities exception handler starting up for executor '" + this.controller + "'");
|
logger.debug(() -> "Activities exception handler starting up for executor '" + this.controller + "'");
|
||||||
}
|
}
|
||||||
|
@ -20,9 +20,9 @@ import io.nosqlbench.engine.api.activityapi.core.RunState;
|
|||||||
import io.nosqlbench.engine.api.activityapi.core.progress.ProgressMeterDisplay;
|
import io.nosqlbench.engine.api.activityapi.core.progress.ProgressMeterDisplay;
|
||||||
import io.nosqlbench.engine.api.activityapi.core.progress.StateCapable;
|
import io.nosqlbench.engine.api.activityapi.core.progress.StateCapable;
|
||||||
import io.nosqlbench.engine.api.metrics.IndicatorMode;
|
import io.nosqlbench.engine.api.metrics.IndicatorMode;
|
||||||
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.nb.api.engine.metrics.PeriodicRunnable;
|
import io.nosqlbench.nb.api.engine.metrics.PeriodicRunnable;
|
||||||
import io.nosqlbench.nb.api.engine.util.Unit;
|
import io.nosqlbench.nb.api.engine.util.Unit;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
@ -35,14 +35,14 @@ public class ActivitiesProgressIndicator implements Runnable {
|
|||||||
|
|
||||||
private final static Logger logger = LogManager.getLogger("PROGRESS");
|
private final static Logger logger = LogManager.getLogger("PROGRESS");
|
||||||
private final String indicatorSpec;
|
private final String indicatorSpec;
|
||||||
private final ContextActivitiesController sc;
|
private final ContainerActivitiesController sc;
|
||||||
private PeriodicRunnable<ActivitiesProgressIndicator> runnable;
|
private PeriodicRunnable<ActivitiesProgressIndicator> runnable;
|
||||||
private IndicatorMode indicatorMode = IndicatorMode.console;
|
private IndicatorMode indicatorMode = IndicatorMode.console;
|
||||||
private final Set<String> seen = new HashSet<>();
|
private final Set<String> seen = new HashSet<>();
|
||||||
|
|
||||||
private long intervalMillis = 1L;
|
private long intervalMillis = 1L;
|
||||||
|
|
||||||
public ActivitiesProgressIndicator(ContextActivitiesController sc, String indicatorSpec) {
|
public ActivitiesProgressIndicator(ContainerActivitiesController sc, String indicatorSpec) {
|
||||||
this.sc = sc;
|
this.sc = sc;
|
||||||
this.indicatorSpec = indicatorSpec;
|
this.indicatorSpec = indicatorSpec;
|
||||||
start();
|
start();
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package io.nosqlbench.engine.core.lifecycle.scenario.context;
|
package io.nosqlbench.engine.core.lifecycle.scenario.container;
|
||||||
|
|
||||||
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
|
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
|
||||||
import org.graalvm.polyglot.Value;
|
import org.graalvm.polyglot.Value;
|
||||||
@ -28,11 +28,11 @@ import java.util.stream.Collectors;
|
|||||||
*/
|
*/
|
||||||
public class ActivityBindings implements Bindings, ProxyObject {
|
public class ActivityBindings implements Bindings, ProxyObject {
|
||||||
|
|
||||||
private final ContextActivitiesController scenario;
|
private final ContainerActivitiesController scenario;
|
||||||
private final Map<String, Bindings> elementMap = new HashMap<String, Bindings>();
|
private final Map<String, Bindings> elementMap = new HashMap<String, Bindings>();
|
||||||
|
|
||||||
public ActivityBindings(ContextActivitiesController contextActivitiesController) {
|
public ActivityBindings(ContainerActivitiesController containerActivitiesController) {
|
||||||
this.scenario = contextActivitiesController;
|
this.scenario = containerActivitiesController;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -41,7 +41,7 @@ public class ActivityBindings implements Bindings, ProxyObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void putAll(Map<? extends String, ? extends Object> toMerge) {
|
public void putAll(Map<? extends String, ?> toMerge) {
|
||||||
throw new RuntimeException("ScenarioBindings do not allow putAll(...)");
|
throw new RuntimeException("ScenarioBindings do not allow putAll(...)");
|
||||||
}
|
}
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package io.nosqlbench.engine.core.lifecycle.scenario.context;
|
package io.nosqlbench.engine.core.lifecycle.scenario.container;
|
||||||
|
|
||||||
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
|
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
|
||||||
import io.nosqlbench.nb.api.engine.activityimpl.ParameterMap;
|
import io.nosqlbench.nb.api.engine.activityimpl.ParameterMap;
|
||||||
@ -40,9 +40,9 @@ import java.util.stream.Collectors;
|
|||||||
* A ScenarioController provides a way to start Activities,
|
* A ScenarioController provides a way to start Activities,
|
||||||
* modify them while running, and forceStopMotors, pause or restart them.
|
* modify them while running, and forceStopMotors, pause or restart them.
|
||||||
*/
|
*/
|
||||||
public class ContextActivitiesController extends NBBaseComponent {
|
public class ContainerActivitiesController extends NBBaseComponent {
|
||||||
|
|
||||||
private static final Logger logger = LogManager.getLogger(ContextActivitiesController.class);
|
private static final Logger logger = LogManager.getLogger(ContainerActivitiesController.class);
|
||||||
private static final Logger scenariologger = LogManager.getLogger("SCENARIO");
|
private static final Logger scenariologger = LogManager.getLogger("SCENARIO");
|
||||||
|
|
||||||
private final ActivityLoader activityLoader;
|
private final ActivityLoader activityLoader;
|
||||||
@ -51,7 +51,7 @@ public class ContextActivitiesController extends NBBaseComponent {
|
|||||||
|
|
||||||
private final ExecutorService executorService;
|
private final ExecutorService executorService;
|
||||||
|
|
||||||
public ContextActivitiesController(NBComponent parent) {
|
public ContainerActivitiesController(NBComponent parent) {
|
||||||
super(parent);
|
super(parent);
|
||||||
this.activityLoader = new ActivityLoader();
|
this.activityLoader = new ActivityLoader();
|
||||||
ActivitiesExceptionHandler exceptionHandler = new ActivitiesExceptionHandler(this);
|
ActivitiesExceptionHandler exceptionHandler = new ActivitiesExceptionHandler(this);
|
@ -1,4 +1,4 @@
|
|||||||
package io.nosqlbench.engine.core.lifecycle.scenario.context;
|
package io.nosqlbench.engine.core.lifecycle.scenario.container;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2022 nosqlbench
|
* Copyright (c) 2022 nosqlbench
|
||||||
@ -24,7 +24,7 @@ import java.io.PrintWriter;
|
|||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public interface ContextBuilderFacets {
|
public interface ContainerBuilderFacets {
|
||||||
public interface ALL extends
|
public interface ALL extends
|
||||||
WantsName,
|
WantsName,
|
||||||
WantsController,
|
WantsController,
|
||||||
@ -41,7 +41,7 @@ public interface ContextBuilderFacets {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public interface WantsController extends WantsStdin, WantsIoType {
|
public interface WantsController extends WantsStdin, WantsIoType {
|
||||||
public WantsStdin controller(ContextActivitiesController controller);
|
public WantsStdin controller(ContainerActivitiesController controller);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -82,7 +82,7 @@ public interface ContextBuilderFacets {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public interface CanBuild {
|
public interface CanBuild {
|
||||||
NBBufferedCommandContext build(NBComponent forComponent);
|
NBBufferedContainer build(NBComponent forComponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.nosqlbench.engine.core.lifecycle.scenario.context;
|
package io.nosqlbench.engine.core.lifecycle.scenario.container;
|
||||||
|
|
||||||
import java.io.CharArrayWriter;
|
import java.io.CharArrayWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.nosqlbench.engine.core.lifecycle.scenario.context;
|
package io.nosqlbench.engine.core.lifecycle.scenario.container;
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.io.Writer;
|
import java.io.Writer;
|
@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.nosqlbench.engine.core.lifecycle.scenario.context;
|
package io.nosqlbench.engine.core.lifecycle.scenario.container;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
@ -14,14 +14,13 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.nosqlbench.engine.core.lifecycle.scenario.context;
|
package io.nosqlbench.engine.core.lifecycle.scenario.container;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.io.CharArrayWriter;
|
import java.io.CharArrayWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.Writer;
|
import java.io.Writer;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
|
|
||||||
public class InterjectingCharArrayWriter extends CharArrayWriter {
|
public class InterjectingCharArrayWriter extends CharArrayWriter {
|
@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.nosqlbench.engine.core.lifecycle.scenario.context;
|
package io.nosqlbench.engine.core.lifecycle.scenario.container;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.annotation.Annotators;
|
import io.nosqlbench.engine.core.annotation.Annotators;
|
||||||
import io.nosqlbench.engine.core.lifecycle.activity.ActivitiesProgressIndicator;
|
import io.nosqlbench.engine.core.lifecycle.activity.ActivitiesProgressIndicator;
|
||||||
@ -38,12 +38,12 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public class NBBufferedCommandContext extends NBBaseComponent implements NBCommandContext {
|
public class NBBufferedContainer extends NBBaseComponent implements NBContainer {
|
||||||
|
|
||||||
private final static Logger logger = LogManager.getLogger(NBBufferedCommandContext.class);
|
private final static Logger logger = LogManager.getLogger(NBBufferedContainer.class);
|
||||||
private final ContextActivitiesController controller;
|
private final ContainerActivitiesController controller;
|
||||||
private final ActivitiesProgressIndicator activitiesProgressIndicator;
|
private final ActivitiesProgressIndicator activitiesProgressIndicator;
|
||||||
private ContextShutdownHook contextShutdownHook;
|
private ContextShutdownHook containerShutdownHook;
|
||||||
private long startedAtMillis;
|
private long startedAtMillis;
|
||||||
private Exception error;
|
private Exception error;
|
||||||
private long endedAtMillis;
|
private long endedAtMillis;
|
||||||
@ -60,10 +60,10 @@ public class NBBufferedCommandContext extends NBBaseComponent implements NBComma
|
|||||||
private DiagWriter stderrBuffer;
|
private DiagWriter stderrBuffer;
|
||||||
private DiagReader stdinBuffer;
|
private DiagReader stdinBuffer;
|
||||||
|
|
||||||
public NBBufferedCommandContext(NBComponent parent, String name, IOType ioTypes) {
|
public NBBufferedContainer(NBComponent parent, String name, IOType ioTypes) {
|
||||||
super(parent, NBLabels.forKV("context",name));
|
super(parent, NBLabels.forKV("container",name));
|
||||||
this.iotype = ioTypes;
|
this.iotype = ioTypes;
|
||||||
this.controller = new ContextActivitiesController(this);
|
this.controller = new ContainerActivitiesController(this);
|
||||||
|
|
||||||
switch (iotype) {
|
switch (iotype) {
|
||||||
case traced:
|
case traced:
|
||||||
@ -83,9 +83,9 @@ public class NBBufferedCommandContext extends NBBaseComponent implements NBComma
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.contextShutdownHook = new ContextShutdownHook(this);
|
this.containerShutdownHook = new ContextShutdownHook(this);
|
||||||
|
|
||||||
Runtime.getRuntime().addShutdownHook(this.contextShutdownHook);
|
Runtime.getRuntime().addShutdownHook(this.containerShutdownHook);
|
||||||
|
|
||||||
Annotators.recordAnnotation(
|
Annotators.recordAnnotation(
|
||||||
Annotation.newBuilder()
|
Annotation.newBuilder()
|
||||||
@ -100,7 +100,7 @@ public class NBBufferedCommandContext extends NBBaseComponent implements NBComma
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ContextActivitiesController controller() {
|
public ContainerActivitiesController controller() {
|
||||||
return controller;
|
return controller;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -123,13 +123,13 @@ public class NBBufferedCommandContext extends NBBaseComponent implements NBComma
|
|||||||
return this.stdoutBuffer.getTimedLog() + this.stderrBuffer.getTimedLog();
|
return this.stdoutBuffer.getTimedLog() + this.stderrBuffer.getTimedLog();
|
||||||
}
|
}
|
||||||
|
|
||||||
public NBCommandContext asFixtures() {
|
public NBContainer asFixtures() {
|
||||||
return (NBCommandContext) this;
|
return (NBContainer) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static ContextBuilderFacets.WantsName builder() {
|
public static ContainerBuilderFacets.WantsName builder() {
|
||||||
return new NBScenarioContextBuilder();
|
return new NBScenarioContainerBuilder();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -168,11 +168,11 @@ public class NBBufferedCommandContext extends NBBaseComponent implements NBComma
|
|||||||
// ignore
|
// ignore
|
||||||
// } else {
|
// } else {
|
||||||
//
|
//
|
||||||
// RuntimeException error = new RuntimeException("Unrecognizable type to set context vars with:" + object.getClass().getCanonicalName());
|
// RuntimeException error = new RuntimeException("Unrecognizable type to set container vars with:" + object.getClass().getCanonicalName());
|
||||||
// logger.error(error);
|
// logger.error(error);
|
||||||
//// throw new RuntimeException("Unrecognizable type to set context vars with:" + object.getClass().getCanonicalName());
|
//// throw new RuntimeException("Unrecognizable type to set container vars with:" + object.getClass().getCanonicalName());
|
||||||
} else {
|
} else {
|
||||||
logger.debug("no object was provided to set the context result");
|
logger.debug("no object was provided to set the container result");
|
||||||
}
|
}
|
||||||
|
|
||||||
return safeCmdResult;
|
return safeCmdResult;
|
||||||
@ -180,7 +180,7 @@ public class NBBufferedCommandContext extends NBBaseComponent implements NBComma
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void doShutdown() {
|
public void doShutdown() {
|
||||||
NBCommandContext.super.doShutdown();
|
NBContainer.super.doShutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -190,11 +190,11 @@ public class NBBufferedCommandContext extends NBBaseComponent implements NBComma
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void beforeDetach() {
|
public void beforeDetach() {
|
||||||
// TODO, shutdown hooks need to be moved to context
|
// TODO, shutdown hooks need to be moved to container
|
||||||
Runtime.getRuntime().removeShutdownHook(this.contextShutdownHook);
|
Runtime.getRuntime().removeShutdownHook(this.containerShutdownHook);
|
||||||
final var retiringScenarioShutdownHook = this.contextShutdownHook;
|
final var retiringScenarioShutdownHook = this.containerShutdownHook;
|
||||||
this.contextShutdownHook = null;
|
this.containerShutdownHook = null;
|
||||||
retiringScenarioShutdownHook.run();
|
retiringScenarioShutdownHook.run();
|
||||||
this.logger.debug("removing context shutdown hook");
|
this.logger.debug("removing container shutdown hook");
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.nosqlbench.engine.core.lifecycle.scenario.context;
|
package io.nosqlbench.engine.core.lifecycle.scenario.container;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.GsonBuilder;
|
import com.google.gson.GsonBuilder;
|
@ -14,27 +14,25 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.nosqlbench.engine.core.lifecycle.scenario.context;
|
package io.nosqlbench.engine.core.lifecycle.scenario.container;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBCommandResult;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBCommandResult;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBInvokableCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBInvokableCommand;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.nb.api.components.NBComponent;
|
||||||
import os.CommandResult;
|
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.function.BiFunction;
|
import java.util.function.BiFunction;
|
||||||
import java.util.function.Function;
|
|
||||||
|
|
||||||
public interface NBCommandContext extends NBComponent, BiFunction<NBInvokableCommand,NBCommandParams, NBCommandResult> {
|
public interface NBContainer extends NBComponent, BiFunction<NBInvokableCommand,NBCommandParams, NBCommandResult> {
|
||||||
// ScenarioPhaseParams params();
|
// ScenarioPhaseParams params();
|
||||||
ContextActivitiesController controller();
|
ContainerActivitiesController controller();
|
||||||
PrintWriter out();
|
PrintWriter out();
|
||||||
PrintWriter err();
|
PrintWriter err();
|
||||||
Reader in();
|
Reader in();
|
||||||
public static ContextBuilderFacets.WantsName builder() {
|
public static ContainerBuilderFacets.WantsName builder() {
|
||||||
return new NBScenarioContextBuilder();
|
return new NBScenarioContainerBuilder();
|
||||||
}
|
}
|
||||||
|
|
||||||
default void doShutdown() {
|
default void doShutdown() {
|
@ -1,4 +1,4 @@
|
|||||||
package io.nosqlbench.engine.core.lifecycle.scenario.context;
|
package io.nosqlbench.engine.core.lifecycle.scenario.container;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2022 nosqlbench
|
* Copyright (c) 2022 nosqlbench
|
||||||
@ -25,74 +25,74 @@ import java.io.PrintWriter;
|
|||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class NBScenarioContextBuilder implements ContextBuilderFacets.ALL {
|
public class NBScenarioContainerBuilder implements ContainerBuilderFacets.ALL {
|
||||||
private Map<String,String> params = Map.of();
|
private Map<String,String> params = Map.of();
|
||||||
private ContextActivitiesController controller;
|
private ContainerActivitiesController controller;
|
||||||
private PrintWriter out = new PrintWriter(System.out);
|
private PrintWriter out = new PrintWriter(System.out);
|
||||||
private PrintWriter err = new PrintWriter(System.err);
|
private PrintWriter err = new PrintWriter(System.err);
|
||||||
private Reader in = new InputStreamReader(System.in);
|
private Reader in = new InputStreamReader(System.in);
|
||||||
private NBBufferedCommandContext.IOType iotype = NBBufferedCommandContext.IOType.traced;
|
private NBBufferedContainer.IOType iotype = NBBufferedContainer.IOType.traced;
|
||||||
private String contextName;
|
private String containerName;
|
||||||
|
|
||||||
|
|
||||||
public NBScenarioContextBuilder() {}
|
public NBScenarioContainerBuilder() {}
|
||||||
public NBBufferedCommandContext build(NBComponent contextParentComponent) {
|
public NBBufferedContainer build(NBComponent contextParentComponent) {
|
||||||
return new NBBufferedCommandContext(contextParentComponent,contextName,iotype);
|
return new NBBufferedContainer(contextParentComponent, containerName,iotype);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public NBScenarioContextBuilder controller(ContextActivitiesController controller) {
|
public NBScenarioContainerBuilder controller(ContainerActivitiesController controller) {
|
||||||
this.controller = controller;
|
this.controller = controller;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public NBScenarioContextBuilder out(PrintWriter out) {
|
public NBScenarioContainerBuilder out(PrintWriter out) {
|
||||||
this.out = out;
|
this.out = out;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ContextBuilderFacets.WantsParams err(PrintWriter err) {
|
public ContainerBuilderFacets.WantsParams err(PrintWriter err) {
|
||||||
this.err = err;
|
this.err = err;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public NBScenarioContextBuilder in(Reader in) {
|
public NBScenarioContainerBuilder in(Reader in) {
|
||||||
this.in = in;
|
this.in = in;
|
||||||
return this;
|
return this;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public NBScenarioContextBuilder params(Map<String, String> params) {
|
public NBScenarioContainerBuilder params(Map<String, String> params) {
|
||||||
this.params=params;
|
this.params=params;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ContextBuilderFacets.WantsParams virtualIO() {
|
public ContainerBuilderFacets.WantsParams virtualIO() {
|
||||||
this.iotype= NBBufferedCommandContext.IOType.virtual;
|
this.iotype= NBBufferedContainer.IOType.virtual;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ContextBuilderFacets.WantsParams connectedIO() {
|
public ContainerBuilderFacets.WantsParams connectedIO() {
|
||||||
this.iotype = NBBufferedCommandContext.IOType.connected;
|
this.iotype = NBBufferedContainer.IOType.connected;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ContextBuilderFacets.WantsParams tracedIO() {
|
public ContainerBuilderFacets.WantsParams tracedIO() {
|
||||||
this.iotype= NBBufferedCommandContext.IOType.traced;
|
this.iotype= NBBufferedContainer.IOType.traced;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ContextBuilderFacets.WantsController name(String contextName) {
|
public ContainerBuilderFacets.WantsController name(String contextName) {
|
||||||
this.contextName = contextName;
|
this.containerName = contextName;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -13,11 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package io.nosqlbench.engine.core.lifecycle.scenario.context;
|
package io.nosqlbench.engine.core.lifecycle.scenario.container;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.DiagReader;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.DiagWriter;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.InterjectingCharArrayWriter;
|
|
||||||
|
|
||||||
import javax.script.SimpleScriptContext;
|
import javax.script.SimpleScriptContext;
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
@ -16,19 +16,19 @@
|
|||||||
|
|
||||||
package io.nosqlbench.engine.core.lifecycle.scenario.execution;
|
package io.nosqlbench.engine.core.lifecycle.scenario.execution;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBContainer;
|
||||||
|
|
||||||
public class ContextShutdownHook extends Thread {
|
public class ContextShutdownHook extends Thread {
|
||||||
|
|
||||||
private final NBCommandContext context;
|
private final NBContainer container;
|
||||||
|
|
||||||
public ContextShutdownHook(NBCommandContext context) {
|
public ContextShutdownHook(NBContainer container) {
|
||||||
this.context = context;
|
this.container = container;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
context.doShutdown();
|
container.doShutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -16,16 +16,10 @@
|
|||||||
|
|
||||||
package io.nosqlbench.engine.core.lifecycle.scenario.execution;
|
package io.nosqlbench.engine.core.lifecycle.scenario.execution;
|
||||||
|
|
||||||
import io.nosqlbench.nb.api.annotations.Annotation;
|
|
||||||
import io.nosqlbench.nb.api.annotations.Layer;
|
|
||||||
import io.nosqlbench.nb.api.labels.NBLabels;
|
import io.nosqlbench.nb.api.labels.NBLabels;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.nb.api.components.NBComponentErrorHandler;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.annotation.Annotators;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.activity.ActivitiesProgressIndicator;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
@ -37,12 +31,12 @@ public abstract class NBBaseCommand extends NBInvokableCommand {
|
|||||||
private final String targetScenario;
|
private final String targetScenario;
|
||||||
protected Logger logger = LogManager.getLogger("COMMAND");
|
protected Logger logger = LogManager.getLogger("COMMAND");
|
||||||
|
|
||||||
public NBBaseCommand(NBBufferedCommandContext parentComponent, String stepName, String targetScenario) {
|
public NBBaseCommand(NBBufferedContainer parentComponent, String stepName, String targetScenario) {
|
||||||
super(parentComponent, NBLabels.forKV("step", stepName));
|
super(parentComponent, NBLabels.forKV("step", stepName));
|
||||||
this.targetScenario = targetScenario;
|
this.targetScenario = targetScenario;
|
||||||
}
|
}
|
||||||
|
|
||||||
public NBBaseCommand(NBBufferedCommandContext parentComponent, String commandLabel) {
|
public NBBaseCommand(NBBufferedContainer parentComponent, String commandLabel) {
|
||||||
this(parentComponent, commandLabel, "_testing_");
|
this(parentComponent, commandLabel, "_testing_");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -55,7 +49,7 @@ public abstract class NBBaseCommand extends NBInvokableCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final Object apply(NBBufferedCommandContext sctx, NBCommandParams params) {
|
public final Object apply(NBBufferedContainer sctx, NBCommandParams params) {
|
||||||
return invoke(params, sctx.out(), sctx.err(), sctx.in(), sctx.controller());
|
return invoke(params, sctx.out(), sctx.err(), sctx.in(), sctx.controller());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,7 +63,7 @@ public abstract class NBBaseCommand extends NBInvokableCommand {
|
|||||||
PrintWriter stdout,
|
PrintWriter stdout,
|
||||||
PrintWriter stderr,
|
PrintWriter stderr,
|
||||||
Reader stdin,
|
Reader stdin,
|
||||||
ContextActivitiesController controller
|
ContainerActivitiesController controller
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
package io.nosqlbench.engine.core.lifecycle.scenario.execution;
|
package io.nosqlbench.engine.core.lifecycle.scenario.execution;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.nb.api.components.NBComponent;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
@ -37,7 +37,7 @@ public abstract class NBCommandInfo {
|
|||||||
public NBInvokableCommand create(NBComponent parent, String cmdName, String ctxName) {
|
public NBInvokableCommand create(NBComponent parent, String cmdName, String ctxName) {
|
||||||
Constructor<? extends NBInvokableCommand> cmdCtor;
|
Constructor<? extends NBInvokableCommand> cmdCtor;
|
||||||
try {
|
try {
|
||||||
cmdCtor = getType().getConstructor(NBBufferedCommandContext.class, String.class, String.class);
|
cmdCtor = getType().getConstructor(NBBufferedContainer.class, String.class, String.class);
|
||||||
return cmdCtor.newInstance(parent, cmdName, ctxName);
|
return cmdCtor.newInstance(parent, cmdName, ctxName);
|
||||||
} catch (NoSuchMethodException | InvocationTargetException | InstantiationException | IllegalAccessException e) {
|
} catch (NoSuchMethodException | InvocationTargetException | InstantiationException | IllegalAccessException e) {
|
||||||
throw new RuntimeException("Unable to instantiate command via ctor(parent,name,ctx): " + e,e);
|
throw new RuntimeException("Unable to instantiate command via ctor(parent,name,ctx): " + e,e);
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package io.nosqlbench.engine.core.lifecycle.scenario.execution;
|
package io.nosqlbench.engine.core.lifecycle.scenario.execution;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.ExecutionResult;
|
import io.nosqlbench.engine.core.lifecycle.ExecutionResult;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
|
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
@ -25,11 +25,11 @@ public class NBCommandResult implements Supplier<ExecutionResult> {
|
|||||||
private final long startedAt;
|
private final long startedAt;
|
||||||
private final long endedAt;
|
private final long endedAt;
|
||||||
private final Exception exception;
|
private final Exception exception;
|
||||||
private final NBBufferedCommandContext fixtures;
|
private final NBBufferedContainer fixtures;
|
||||||
|
|
||||||
private Object resultObject;
|
private Object resultObject;
|
||||||
|
|
||||||
public NBCommandResult(NBBufferedCommandContext fixtures, long start, long end, Exception exception) {
|
public NBCommandResult(NBBufferedContainer fixtures, long start, long end, Exception exception) {
|
||||||
this.fixtures = fixtures;
|
this.fixtures = fixtures;
|
||||||
this.startedAt=start;
|
this.startedAt=start;
|
||||||
this.endedAt=end;
|
this.endedAt=end;
|
||||||
|
@ -16,35 +16,33 @@
|
|||||||
|
|
||||||
package io.nosqlbench.engine.core.lifecycle.scenario.execution;
|
package io.nosqlbench.engine.core.lifecycle.scenario.execution;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.nb.api.components.NBBaseComponent;
|
import io.nosqlbench.nb.api.components.NBBaseComponent;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
|
||||||
import io.nosqlbench.nb.api.labels.NBLabels;
|
import io.nosqlbench.nb.api.labels.NBLabels;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.function.BiFunction;
|
import java.util.function.BiFunction;
|
||||||
|
|
||||||
public abstract class NBInvokableCommand extends NBBaseComponent implements BiFunction<NBBufferedCommandContext, NBCommandParams, Object> {
|
public abstract class NBInvokableCommand extends NBBaseComponent implements BiFunction<NBBufferedContainer, NBCommandParams, Object> {
|
||||||
private static final Logger logger = LogManager.getLogger(NBInvokableCommand.class);
|
private static final Logger logger = LogManager.getLogger(NBInvokableCommand.class);
|
||||||
|
|
||||||
public NBInvokableCommand(NBBufferedCommandContext parentComponent, NBLabels componentSpecificLabelsOnly) {
|
public NBInvokableCommand(NBBufferedContainer parentComponent, NBLabels componentSpecificLabelsOnly) {
|
||||||
super(parentComponent, componentSpecificLabelsOnly);
|
super(parentComponent, componentSpecificLabelsOnly);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public abstract Object apply(NBBufferedCommandContext nbBufferedCommandContext, NBCommandParams nbCommandParams);
|
public abstract Object apply(NBBufferedContainer nbBufferedContainer, NBCommandParams nbCommandParams);
|
||||||
|
|
||||||
public NBCommandResult invokeSafe(NBBufferedCommandContext context, NBCommandParams params) {
|
public NBCommandResult invokeSafe(NBBufferedContainer container, NBCommandParams params) {
|
||||||
Object resultObject = null;
|
Object resultObject = null;
|
||||||
Exception exception = null;
|
Exception exception = null;
|
||||||
long startAt = System.currentTimeMillis();
|
long startAt = System.currentTimeMillis();
|
||||||
NBCommandResult result = null;
|
NBCommandResult result = null;
|
||||||
try {
|
try {
|
||||||
logger.debug("invoking command: " + this);
|
logger.debug("invoking command: " + this);
|
||||||
resultObject=apply(context, params);
|
resultObject=apply(container, params);
|
||||||
logger.debug("cmd produced: " + (resultObject==null ? "NULL" : resultObject.toString()));
|
logger.debug("cmd produced: " + (resultObject==null ? "NULL" : resultObject.toString()));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
exception = e;
|
exception = e;
|
||||||
@ -52,7 +50,7 @@ public abstract class NBInvokableCommand extends NBBaseComponent implements BiFu
|
|||||||
exception.printStackTrace(System.out);
|
exception.printStackTrace(System.out);
|
||||||
} finally {
|
} finally {
|
||||||
long endAt = System.currentTimeMillis();
|
long endAt = System.currentTimeMillis();
|
||||||
result = new NBCommandResult(context, startAt, endAt, exception);
|
result = new NBCommandResult(container, startAt, endAt, exception);
|
||||||
if (resultObject!=null) {
|
if (resultObject!=null) {
|
||||||
result.setResultObject(resultObject);
|
result.setResultObject(resultObject);
|
||||||
}
|
}
|
||||||
|
@ -16,19 +16,17 @@
|
|||||||
|
|
||||||
package io.nosqlbench.engine.core.lifecycle.scenario.script;
|
package io.nosqlbench.engine.core.lifecycle.scenario.script;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandContext;
|
|
||||||
|
|
||||||
import javax.script.SimpleScriptContext;
|
import javax.script.SimpleScriptContext;
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
import java.io.Writer;
|
import java.io.Writer;
|
||||||
|
|
||||||
public class BufferedScriptContext extends SimpleScriptContext {
|
public class BufferedScriptCtx extends SimpleScriptContext {
|
||||||
|
|
||||||
Reader reader;
|
Reader reader;
|
||||||
Writer writer;
|
Writer writer;
|
||||||
Writer errorWriter;
|
Writer errorWriter;
|
||||||
|
|
||||||
public BufferedScriptContext(Writer writer, Writer errorWriter,Reader reader) {
|
public BufferedScriptCtx(Writer writer, Writer errorWriter, Reader reader) {
|
||||||
this.writer = writer;
|
this.writer = writer;
|
||||||
this.errorWriter = errorWriter;
|
this.errorWriter = errorWriter;
|
||||||
this.reader = reader;
|
this.reader = reader;
|
@ -18,12 +18,12 @@ package io.nosqlbench.engine.core.lifecycle.scenario.script;
|
|||||||
import com.oracle.truffle.js.scriptengine.GraalJSScriptEngine;
|
import com.oracle.truffle.js.scriptengine.GraalJSScriptEngine;
|
||||||
import io.nosqlbench.engine.cmdstream.BasicScriptBuffer;
|
import io.nosqlbench.engine.cmdstream.BasicScriptBuffer;
|
||||||
import io.nosqlbench.engine.cmdstream.Cmd;
|
import io.nosqlbench.engine.cmdstream.Cmd;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
import io.nosqlbench.engine.core.lifecycle.ExecutionMetricsResult;
|
import io.nosqlbench.engine.core.lifecycle.ExecutionMetricsResult;
|
||||||
import io.nosqlbench.engine.core.lifecycle.activity.ActivitiesProgressIndicator;
|
import io.nosqlbench.engine.core.lifecycle.activity.ActivitiesProgressIndicator;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
|
||||||
import org.graalvm.polyglot.Context;
|
import org.graalvm.polyglot.Context;
|
||||||
import org.graalvm.polyglot.Engine.Builder;
|
import org.graalvm.polyglot.Engine.Builder;
|
||||||
import org.graalvm.polyglot.EnvironmentAccess;
|
import org.graalvm.polyglot.EnvironmentAccess;
|
||||||
@ -43,7 +43,7 @@ public class NBScriptedCommand extends NBBaseCommand {
|
|||||||
private Exception error;
|
private Exception error;
|
||||||
|
|
||||||
private ExecutionMetricsResult result;
|
private ExecutionMetricsResult result;
|
||||||
private BufferedScriptContext context;
|
private BufferedScriptCtx ctx;
|
||||||
private GraalJSScriptEngine _engine;
|
private GraalJSScriptEngine _engine;
|
||||||
|
|
||||||
public Optional<ExecutionMetricsResult> getResultIfComplete() {
|
public Optional<ExecutionMetricsResult> getResultIfComplete() {
|
||||||
@ -77,7 +77,7 @@ public class NBScriptedCommand extends NBBaseCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public NBScriptedCommand(
|
public NBScriptedCommand(
|
||||||
NBBufferedCommandContext parentComponent,
|
NBBufferedContainer parentComponent,
|
||||||
String phaseName,
|
String phaseName,
|
||||||
String targetScenario
|
String targetScenario
|
||||||
) {
|
) {
|
||||||
@ -87,7 +87,7 @@ public class NBScriptedCommand extends NBBaseCommand {
|
|||||||
this.buffer = new BasicScriptBuffer();
|
this.buffer = new BasicScriptBuffer();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static NBScriptedCommand ofScripted(String name, Map<String, String> params, NBBufferedCommandContext parent, Invocation invocation) {
|
public static NBScriptedCommand ofScripted(String name, Map<String, String> params, NBBufferedContainer parent, Invocation invocation) {
|
||||||
return new NBScriptedCommand(parent, name, "default");
|
return new NBScriptedCommand(parent, name, "default");
|
||||||
}
|
}
|
||||||
public NBScriptedCommand add(Cmd... cmds) {
|
public NBScriptedCommand add(Cmd... cmds) {
|
||||||
@ -118,10 +118,10 @@ public class NBScriptedCommand extends NBBaseCommand {
|
|||||||
// return this;
|
// return this;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
private BufferedScriptContext initializeScriptContext(PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
private BufferedScriptCtx initializeScriptContext(PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
BufferedScriptContext ctx = new BufferedScriptContext(stdout, stderr, stdin);
|
BufferedScriptCtx ctx = new BufferedScriptCtx(stdout, stderr, stdin);
|
||||||
ctx.getBindings(ScriptContext.ENGINE_SCOPE).put("this", this);
|
ctx.getBindings(ScriptContext.ENGINE_SCOPE).put("this", this);
|
||||||
ctx.getBindings(ScriptContext.ENGINE_SCOPE).put("context", context);
|
ctx.getBindings(ScriptContext.ENGINE_SCOPE).put("container", this.ctx);
|
||||||
ctx.getBindings(ScriptContext.ENGINE_SCOPE).put("controller", controller);
|
ctx.getBindings(ScriptContext.ENGINE_SCOPE).put("controller", controller);
|
||||||
ctx.getBindings(ScriptContext.ENGINE_SCOPE).put("stdout", stdout);
|
ctx.getBindings(ScriptContext.ENGINE_SCOPE).put("stdout", stdout);
|
||||||
ctx.getBindings(ScriptContext.ENGINE_SCOPE).put("stderr", stderr);
|
ctx.getBindings(ScriptContext.ENGINE_SCOPE).put("stderr", stderr);
|
||||||
@ -155,13 +155,13 @@ public class NBScriptedCommand extends NBBaseCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
try {
|
try {
|
||||||
this.logger.debug("Initializing scripting engine for {}.", phaseName);
|
this.logger.debug("Initializing scripting engine for {}.", phaseName);
|
||||||
GraalJSScriptEngine engine = this.initializeScriptingEngine();
|
GraalJSScriptEngine engine = this.initializeScriptingEngine();
|
||||||
this.context = this.initializeScriptContext(stdout, stderr, stdin, controller);
|
this.ctx = this.initializeScriptContext(stdout, stderr, stdin, controller);
|
||||||
this.logger.debug("Running control script for {}.", phaseName);
|
this.logger.debug("Running control script for {}.", phaseName);
|
||||||
engine.setContext(context);
|
engine.setContext(ctx);
|
||||||
engine.getContext().getBindings(ScriptContext.ENGINE_SCOPE).put("params", params);
|
engine.getContext().getBindings(ScriptContext.ENGINE_SCOPE).put("params", params);
|
||||||
|
|
||||||
Object resultObject = null;
|
Object resultObject = null;
|
||||||
|
@ -15,12 +15,12 @@
|
|||||||
*/
|
*/
|
||||||
package io.nosqlbench.engine.core.lifecycle.scenario.script;
|
package io.nosqlbench.engine.core.lifecycle.scenario.script;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ScriptEnvBuffer;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ScriptEnvBuffer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBContainer;
|
||||||
|
|
||||||
public class ScenarioScriptShell extends ScriptEnvBuffer {
|
public class ScenarioScriptShell extends ScriptEnvBuffer {
|
||||||
|
|
||||||
public ScenarioScriptShell(NBCommandContext fixtures) {
|
public ScenarioScriptShell(NBContainer fixtures) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -16,8 +16,8 @@
|
|||||||
|
|
||||||
package io.nosqlbench.engine.core.lifecycle.scenario.script.bindings;
|
package io.nosqlbench.engine.core.lifecycle.scenario.script.bindings;
|
||||||
|
|
||||||
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
|
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.graalvm.polyglot.Value;
|
import org.graalvm.polyglot.Value;
|
||||||
@ -29,9 +29,9 @@ public class PolyglotScenarioController {
|
|||||||
|
|
||||||
private static final Logger logger = LogManager.getLogger("SCENARIO/POLYGLOT");
|
private static final Logger logger = LogManager.getLogger("SCENARIO/POLYGLOT");
|
||||||
|
|
||||||
private final ContextActivitiesController controller;
|
private final ContainerActivitiesController controller;
|
||||||
|
|
||||||
public PolyglotScenarioController(ContextActivitiesController inner) {
|
public PolyglotScenarioController(ContainerActivitiesController inner) {
|
||||||
this.controller = inner;
|
this.controller = inner;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,8 +19,7 @@ package io.nosqlbench.engine.core.lifecycle.session;
|
|||||||
import io.nosqlbench.engine.cmdstream.Cmd;
|
import io.nosqlbench.engine.cmdstream.Cmd;
|
||||||
import io.nosqlbench.engine.cmdstream.CmdArg;
|
import io.nosqlbench.engine.cmdstream.CmdArg;
|
||||||
import io.nosqlbench.engine.cmdstream.CmdParam;
|
import io.nosqlbench.engine.cmdstream.CmdParam;
|
||||||
import io.nosqlbench.engine.cmdstream.CmdType;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBInvokableCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBInvokableCommand;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.script.NBScriptedCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.script.NBScriptedCommand;
|
||||||
import io.nosqlbench.nb.annotations.Service;
|
import io.nosqlbench.nb.annotations.Service;
|
||||||
@ -29,14 +28,13 @@ import io.nosqlbench.nb.api.nbio.NBIO;
|
|||||||
|
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
@Service(value = NBInvokableResolver.class, selector = "autojs")
|
@Service(value = NBInvokableResolver.class, selector = "autojs")
|
||||||
public class NBAutoScriptResolver implements NBInvokableResolver {
|
public class NBAutoScriptResolver implements NBInvokableResolver {
|
||||||
@Override
|
@Override
|
||||||
public NBInvokableCommand resolve(Cmd cmd, NBBufferedCommandContext parent, String phaseName) {
|
public NBInvokableCommand resolve(Cmd cmd, NBBufferedContainer parent, String phaseName) {
|
||||||
|
|
||||||
Optional<Content<?>> scriptfile = NBIO.local()
|
Optional<Content<?>> scriptfile = NBIO.local()
|
||||||
.searchPrefixes("scripts/auto")
|
.searchPrefixes("scripts/auto")
|
||||||
|
@ -17,9 +17,9 @@
|
|||||||
package io.nosqlbench.engine.core.lifecycle.session;
|
package io.nosqlbench.engine.core.lifecycle.session;
|
||||||
|
|
||||||
import io.nosqlbench.engine.cmdstream.*;
|
import io.nosqlbench.engine.cmdstream.*;
|
||||||
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBInvokableCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBInvokableCommand;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
import io.nosqlbench.nb.api.errors.BasicError;
|
import io.nosqlbench.nb.api.errors.BasicError;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
@ -31,10 +31,10 @@ public class NBCommandAssembly {
|
|||||||
|
|
||||||
private final static Logger logger = LogManager.getLogger(NBCommandAssembly.class);
|
private final static Logger logger = LogManager.getLogger(NBCommandAssembly.class);
|
||||||
|
|
||||||
public static record CommandInvocation(NBInvokableCommand command, NBCommandParams params, String contextName) {
|
public static record CommandInvocation(NBInvokableCommand command, NBCommandParams params, String containerName) {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<CommandInvocation> assemble(List<Cmd> cmds, Function<String, NBBufferedCommandContext> ctxprovider) {
|
public static List<CommandInvocation> assemble(List<Cmd> cmds, Function<String, NBBufferedContainer> ctxprovider) {
|
||||||
List<Cmd> mappedCmds = tagCommandsWithContext(cmds);
|
List<Cmd> mappedCmds = tagCommandsWithContext(cmds);
|
||||||
List<CommandInvocation> invocations = prepareMappedPhases(mappedCmds, ctxprovider);
|
List<CommandInvocation> invocations = prepareMappedPhases(mappedCmds, ctxprovider);
|
||||||
return invocations;
|
return invocations;
|
||||||
@ -42,27 +42,27 @@ public class NBCommandAssembly {
|
|||||||
|
|
||||||
private static List<Cmd> tagCommandsWithContext(List<Cmd> cmds) {
|
private static List<Cmd> tagCommandsWithContext(List<Cmd> cmds) {
|
||||||
LinkedList<Cmd> tagged = new LinkedList<>();
|
LinkedList<Cmd> tagged = new LinkedList<>();
|
||||||
String contextName = Cmd.DEFAULT_TARGET_CONTEXT;
|
String containerName = Cmd.DEFAULT_TARGET_CONTEXT;
|
||||||
for (Cmd cmd : cmds) {
|
for (Cmd cmd : cmds) {
|
||||||
|
|
||||||
if (cmd.getArgs().containsKey("context")) {
|
if (cmd.getArgs().containsKey("container")) {
|
||||||
String ctx = cmd.getArgs().remove("context").getValue();
|
String ctx = cmd.getArgs().remove("container").getValue();
|
||||||
String step = cmd.getArgs().containsKey("step") ? cmd.getArgs().remove("step").getValue() : "no-step";
|
String step = cmd.getArgs().containsKey("step") ? cmd.getArgs().remove("step").getValue() : "no-step";
|
||||||
tagged.add(cmd.forTargetContext(ctx, step));
|
tagged.add(cmd.forContainer(ctx, step));
|
||||||
} else if (cmd.getCmdType() == CmdType.context) {
|
} else if (cmd.getCmdType() == CmdType.container) {
|
||||||
contextName = cmd.getArgValue("context_name");
|
containerName = cmd.getArgValue("container");
|
||||||
if (contextName.equals(Cmd.DEFAULT_TARGET_CONTEXT)) {
|
if (containerName.equals(Cmd.DEFAULT_TARGET_CONTEXT)) {
|
||||||
logger.warn("You are explicitly setting the scenario name to " + Cmd.DEFAULT_TARGET_CONTEXT + "'. This is likely an error. " +
|
logger.warn("You are explicitly setting the scenario name to " + Cmd.DEFAULT_TARGET_CONTEXT + "'. This is likely an error. " +
|
||||||
"This is the default scenario name, and if you are using different scenario names you should pick something that is different and specific.");
|
"This is the default scenario name, and if you are using different scenario names you should pick something that is different and specific.");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
tagged.add(cmd.forTargetContext(contextName, null));
|
tagged.add(cmd.forContainer(containerName, null));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return new ArrayList<>(tagged);
|
return new ArrayList<>(tagged);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<CommandInvocation> prepareMappedPhases(List<Cmd> mappedCmds, Function<String, NBBufferedCommandContext> ctxProvider) {
|
private static List<CommandInvocation> prepareMappedPhases(List<Cmd> mappedCmds, Function<String, NBBufferedContainer> ctxProvider) {
|
||||||
List<CommandInvocation> parameterizedInvocations = new ArrayList<>();
|
List<CommandInvocation> parameterizedInvocations = new ArrayList<>();
|
||||||
NBCoreInvokableResolver core_resolver = new NBCoreInvokableResolver();
|
NBCoreInvokableResolver core_resolver = new NBCoreInvokableResolver();
|
||||||
String basename = "phase_";
|
String basename = "phase_";
|
||||||
@ -72,7 +72,7 @@ public class NBCommandAssembly {
|
|||||||
String phaseName = basename + count;
|
String phaseName = basename + count;
|
||||||
|
|
||||||
NBCommandParams params = switch (cmd.getCmdType()) {
|
NBCommandParams params = switch (cmd.getCmdType()) {
|
||||||
case indirect, java, context -> NBCommandParams.of(cmd.getArgMap());
|
case indirect, java, container -> NBCommandParams.of(cmd.getArgMap());
|
||||||
default -> NBCommandParams.of(Map.of());
|
default -> NBCommandParams.of(Map.of());
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -81,8 +81,8 @@ public class NBCommandAssembly {
|
|||||||
if (command==null) {
|
if (command==null) {
|
||||||
throw new BasicError("Found zero commands for spec;" + cmd);
|
throw new BasicError("Found zero commands for spec;" + cmd);
|
||||||
}
|
}
|
||||||
String contextName = cmd.getTargetContext();
|
String containerName = cmd.getTargetContext();
|
||||||
parameterizedInvocations.add(new CommandInvocation(command, params, contextName));
|
parameterizedInvocations.add(new CommandInvocation(command, params, containerName));
|
||||||
}
|
}
|
||||||
return parameterizedInvocations;
|
return parameterizedInvocations;
|
||||||
}
|
}
|
||||||
|
@ -16,9 +16,9 @@
|
|||||||
|
|
||||||
package io.nosqlbench.engine.core.lifecycle.session;
|
package io.nosqlbench.engine.core.lifecycle.session;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBCommandResult;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBCommandResult;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBInvokableCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBInvokableCommand;
|
||||||
import io.nosqlbench.nb.api.config.standard.TestComponent;
|
import io.nosqlbench.nb.api.config.standard.TestComponent;
|
||||||
@ -26,7 +26,6 @@ import org.apache.logging.log4j.LogManager;
|
|||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
public class NBCommandInvoker {
|
public class NBCommandInvoker {
|
||||||
private final static Logger logger = LogManager.getLogger(NBCommandInvoker.class);
|
private final static Logger logger = LogManager.getLogger(NBCommandInvoker.class);
|
||||||
@ -35,15 +34,15 @@ public class NBCommandInvoker {
|
|||||||
return invoke(createContext(),command,params);
|
return invoke(createContext(),command,params);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static NBCommandResult invoke(NBBufferedCommandContext context, NBInvokableCommand command) {
|
public static NBCommandResult invoke(NBBufferedContainer container, NBInvokableCommand command) {
|
||||||
return invoke(context, command, NBCommandParams.of(Map.of()));
|
return invoke(container, command, NBCommandParams.of(Map.of()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static NBBufferedCommandContext createContext() {
|
private static NBBufferedContainer createContext() {
|
||||||
return NBCommandContext.builder().name("testing").build(TestComponent.EMPTY_COMPONENT);
|
return NBContainer.builder().name("testing").build(TestComponent.EMPTY_COMPONENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static NBCommandResult invoke(NBBufferedCommandContext context, NBInvokableCommand command, NBCommandParams params) {
|
public static NBCommandResult invoke(NBBufferedContainer container, NBInvokableCommand command, NBCommandParams params) {
|
||||||
return command.invokeSafe(context,params);
|
return command.invokeSafe(container,params);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,11 +17,9 @@
|
|||||||
package io.nosqlbench.engine.core.lifecycle.session;
|
package io.nosqlbench.engine.core.lifecycle.session;
|
||||||
|
|
||||||
import io.nosqlbench.engine.cmdstream.Cmd;
|
import io.nosqlbench.engine.cmdstream.Cmd;
|
||||||
import io.nosqlbench.engine.cmdstream.CmdType;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBInvokableCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBInvokableCommand;
|
||||||
import io.nosqlbench.nb.annotations.Service;
|
import io.nosqlbench.nb.annotations.Service;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
@ -35,7 +33,7 @@ public class NBCoreInvokableResolver implements NBInvokableResolver {
|
|||||||
private SequencedMap<String,NBInvokableResolver> resolvers = new LinkedHashMap<>();
|
private SequencedMap<String,NBInvokableResolver> resolvers = new LinkedHashMap<>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public NBInvokableCommand resolve(Cmd cmd, NBBufferedCommandContext parent, String phaseName) {
|
public NBInvokableCommand resolve(Cmd cmd, NBBufferedContainer parent, String phaseName) {
|
||||||
for (NBInvokableResolver resolver : getResolvers().values()) {
|
for (NBInvokableResolver resolver : getResolvers().values()) {
|
||||||
NBInvokableCommand loadedCommand = resolver.resolve(cmd, parent, phaseName);
|
NBInvokableCommand loadedCommand = resolver.resolve(cmd, parent, phaseName);
|
||||||
if (loadedCommand!=null) {
|
if (loadedCommand!=null) {
|
||||||
|
@ -17,12 +17,10 @@
|
|||||||
package io.nosqlbench.engine.core.lifecycle.session;
|
package io.nosqlbench.engine.core.lifecycle.session;
|
||||||
|
|
||||||
import io.nosqlbench.engine.cmdstream.Cmd;
|
import io.nosqlbench.engine.cmdstream.Cmd;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBInvokableCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBInvokableCommand;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public interface NBInvokableResolver {
|
public interface NBInvokableResolver {
|
||||||
NBInvokableCommand resolve(Cmd cmd, NBBufferedCommandContext parent, String phaseName);
|
NBInvokableCommand resolve(Cmd cmd, NBBufferedContainer parent, String phaseName);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -16,19 +16,16 @@
|
|||||||
|
|
||||||
package io.nosqlbench.engine.core.lifecycle.session;
|
package io.nosqlbench.engine.core.lifecycle.session;
|
||||||
|
|
||||||
import io.nosqlbench.engine.cmdstream.BasicScriptBuffer;
|
|
||||||
import io.nosqlbench.engine.cmdstream.Cmd;
|
import io.nosqlbench.engine.cmdstream.Cmd;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBInvokableCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBInvokableCommand;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.script.NBScriptedCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.script.NBScriptedCommand;
|
||||||
import io.nosqlbench.nb.annotations.Service;
|
import io.nosqlbench.nb.annotations.Service;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Service(value = NBInvokableResolver.class, selector = "js")
|
@Service(value = NBInvokableResolver.class, selector = "js")
|
||||||
public class NBScriptCommandResolver implements NBInvokableResolver {
|
public class NBScriptCommandResolver implements NBInvokableResolver {
|
||||||
@Override
|
@Override
|
||||||
public NBInvokableCommand resolve(Cmd cmd, NBBufferedCommandContext parent, String phaseName) {
|
public NBInvokableCommand resolve(Cmd cmd, NBBufferedContainer parent, String phaseName) {
|
||||||
return switch (cmd.getCmdType()) {
|
return switch (cmd.getCmdType()) {
|
||||||
case run, await, forceStop, stop, start, waitMillis, fragment, script->
|
case run, await, forceStop, stop, start, waitMillis, fragment, script->
|
||||||
new NBScriptedCommand(parent, phaseName, cmd.getTargetContext()).add(cmd);
|
new NBScriptedCommand(parent, phaseName, cmd.getTargetContext()).add(cmd);
|
||||||
|
@ -26,8 +26,8 @@ import io.nosqlbench.nb.api.components.decorators.NBTokenWords;
|
|||||||
import io.nosqlbench.engine.cmdstream.Cmd;
|
import io.nosqlbench.engine.cmdstream.Cmd;
|
||||||
import io.nosqlbench.engine.core.clientload.*;
|
import io.nosqlbench.engine.core.clientload.*;
|
||||||
import io.nosqlbench.engine.core.lifecycle.ExecutionResult;
|
import io.nosqlbench.engine.core.lifecycle.ExecutionResult;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBCommandResult;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBCommandResult;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
@ -47,7 +47,7 @@ public class NBSession extends NBBaseComponent implements Function<List<Cmd>, Ex
|
|||||||
private final String sessionName;
|
private final String sessionName;
|
||||||
private final ClientSystemMetricChecker clientMetricChecker;
|
private final ClientSystemMetricChecker clientMetricChecker;
|
||||||
|
|
||||||
private final Map<String, NBBufferedCommandContext> contexts = new ConcurrentHashMap<>();
|
private final Map<String, NBBufferedContainer> containers = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
public enum STATUS {
|
public enum STATUS {
|
||||||
OK,
|
OK,
|
||||||
@ -55,10 +55,10 @@ public class NBSession extends NBBaseComponent implements Function<List<Cmd>, Ex
|
|||||||
ERROR
|
ERROR
|
||||||
}
|
}
|
||||||
|
|
||||||
private NBBufferedCommandContext getContext(String name) {
|
private NBBufferedContainer getContext(String name) {
|
||||||
return contexts.computeIfAbsent(
|
return containers.computeIfAbsent(
|
||||||
name,
|
name,
|
||||||
n -> NBCommandContext.builder().name(n).build(this)
|
n -> NBContainer.builder().name(n).build(this)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,19 +99,19 @@ public class NBSession extends NBBaseComponent implements Function<List<Cmd>, Ex
|
|||||||
*/
|
*/
|
||||||
public ExecutionResult apply(List<Cmd> cmds) {
|
public ExecutionResult apply(List<Cmd> cmds) {
|
||||||
|
|
||||||
// TODO: add context closing command
|
// TODO: add container closing command
|
||||||
// TODO: inject context closing commands after the last command referencing each context
|
// TODO: inject container closing commands after the last command referencing each container
|
||||||
List<NBCommandAssembly.CommandInvocation> invocationCalls = NBCommandAssembly.assemble(cmds, this::getContext);
|
List<NBCommandAssembly.CommandInvocation> invocationCalls = NBCommandAssembly.assemble(cmds, this::getContext);
|
||||||
ResultCollector collector = new ResultCollector();
|
ResultCollector collector = new ResultCollector();
|
||||||
try (ResultContext results = new ResultContext(collector).ok()) {
|
try (ResultContext results = new ResultContext(collector).ok()) {
|
||||||
for (NBCommandAssembly.CommandInvocation invocation : invocationCalls) {
|
for (NBCommandAssembly.CommandInvocation invocation : invocationCalls) {
|
||||||
try {
|
try {
|
||||||
String targetContext = invocation.contextName();
|
String targetContext = invocation.containerName();
|
||||||
NBBufferedCommandContext context = getContext(targetContext);
|
NBBufferedContainer container = getContext(targetContext);
|
||||||
NBCommandResult cmdResult = context.apply(invocation.command(), invocation.params());
|
NBCommandResult cmdResult = container.apply(invocation.command(), invocation.params());
|
||||||
results.apply(cmdResult);
|
results.apply(cmdResult);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
String msg = "While running command '" + invocation.command() + "' in context '" + invocation.contextName() + "', an error occurred: " + e.toString();
|
String msg = "While running command '" + invocation.command() + "' in container '" + invocation.containerName() + "', an error occurred: " + e.toString();
|
||||||
logger.error(msg);
|
logger.error(msg);
|
||||||
results.error(e);
|
results.error(e);
|
||||||
break;
|
break;
|
||||||
@ -119,9 +119,9 @@ public class NBSession extends NBBaseComponent implements Function<List<Cmd>, Ex
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (String ctxName : contexts.keySet()) {
|
for (String containerName : containers.keySet()) {
|
||||||
NBBufferedCommandContext ctx = contexts.get(ctxName);
|
NBBufferedContainer ctx = containers.get(containerName);
|
||||||
logger.debug("awaiting end of activities in context '" + ctxName + "':" +
|
logger.debug("awaiting end of activities in container '" + containerName + "':" +
|
||||||
ctx.controller().getActivityDefs().stream().map(ActivityDef::getAlias).toList());
|
ctx.controller().getActivityDefs().stream().map(ActivityDef::getAlias).toList());
|
||||||
ctx.controller().shutdown();
|
ctx.controller().shutdown();
|
||||||
ctx.controller().awaitCompletion(Long.MAX_VALUE);
|
ctx.controller().awaitCompletion(Long.MAX_VALUE);
|
||||||
|
@ -55,7 +55,7 @@ public class ResultContext implements AutoCloseable {
|
|||||||
if (this.status==null) {
|
if (this.status==null) {
|
||||||
this.status= ExecutionResult.Status.ERROR;
|
this.status= ExecutionResult.Status.ERROR;
|
||||||
if (this.error!=null) {
|
if (this.error!=null) {
|
||||||
this.error=new RuntimeException("early execution result with no asserted status. Call setStatus on your result context or end with `return ctx.ok() or ctx.error(...)`");
|
this.error=new RuntimeException("early execution result with no asserted status. Call setStatus on your result object or end with `return ctx.ok() or ctx.error(...)`");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
receiver.accept(this);
|
receiver.accept(this);
|
||||||
|
@ -20,12 +20,9 @@ import io.nosqlbench.engine.cmdstream.Cmd;
|
|||||||
import io.nosqlbench.engine.cmdstream.CmdArg;
|
import io.nosqlbench.engine.cmdstream.CmdArg;
|
||||||
import io.nosqlbench.engine.cmdstream.CmdParam;
|
import io.nosqlbench.engine.cmdstream.CmdParam;
|
||||||
import io.nosqlbench.engine.core.lifecycle.session.NBCommandInvoker;
|
import io.nosqlbench.engine.core.lifecycle.session.NBCommandInvoker;
|
||||||
import io.nosqlbench.engine.core.lifecycle.session.NBSession;
|
|
||||||
import io.nosqlbench.nb.api.config.standard.TestComponent;
|
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.nb.api.components.NBComponent;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBCommandResult;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBCommandResult;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.script.NBScriptedCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.script.NBScriptedCommand;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
@ -41,7 +38,7 @@ public class NBBaseCommandTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldLoadScriptText() {
|
public void shouldLoadScriptText() {
|
||||||
NBBufferedCommandContext ctx = NBCommandContext.builder().name("testing").build(NBComponent.EMPTY_COMPONENT);
|
NBBufferedContainer ctx = NBContainer.builder().name("testing").build(NBComponent.EMPTY_COMPONENT);
|
||||||
NBScriptedCommand cmd = NBScriptedCommand.ofScripted("testing", Map.of(),ctx, NBScriptedCommand.Invocation.EXECUTE_SCRIPT);
|
NBScriptedCommand cmd = NBScriptedCommand.ofScripted("testing", Map.of(),ctx, NBScriptedCommand.Invocation.EXECUTE_SCRIPT);
|
||||||
cmd.add(new Cmd("fragment",Map.of(
|
cmd.add(new Cmd("fragment",Map.of(
|
||||||
"fragment",new CmdArg(new CmdParam("fragment",s->s,false),"=","print('loaded script environment...');")
|
"fragment",new CmdArg(new CmdParam("fragment",s->s,false),"=","print('loaded script environment...');")
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package io.nosqlbench.engine.core.script;
|
package io.nosqlbench.engine.core.script;
|
||||||
|
|
||||||
import io.nosqlbench.nb.api.errors.BasicError;
|
import io.nosqlbench.nb.api.errors.BasicError;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -335,7 +335,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.antlr</groupId>
|
<groupId>org.antlr</groupId>
|
||||||
<artifactId>antlr4-runtime</artifactId>
|
<artifactId>antlr4-runtime</artifactId>
|
||||||
<version>4.13.0</version>
|
<version>4.13.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.commons</groupId>
|
<groupId>org.apache.commons</groupId>
|
||||||
@ -792,7 +792,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.antlr</groupId>
|
<groupId>org.antlr</groupId>
|
||||||
<artifactId>antlr4-maven-plugin</artifactId>
|
<artifactId>antlr4-maven-plugin</artifactId>
|
||||||
<version>4.13.0</version>
|
<version>4.13.1</version>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
|
@ -16,10 +16,10 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
import io.nosqlbench.engine.core.lifecycle.session.NBCommandInvoker;
|
import io.nosqlbench.engine.core.lifecycle.session.NBCommandInvoker;
|
||||||
import io.nosqlbench.nb.api.config.standard.TestComponent;
|
import io.nosqlbench.nb.api.config.standard.TestComponent;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBCommandResult;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBCommandResult;
|
||||||
import org.junit.jupiter.api.Disabled;
|
import org.junit.jupiter.api.Disabled;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
@ -32,7 +32,7 @@ public class DirectRuntimeScenarioTests {
|
|||||||
private final TestComponent testC = new TestComponent("testroot", "testroot");
|
private final TestComponent testC = new TestComponent("testroot", "testroot");
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_linkedinput() {
|
public void test_SC_linkedinput() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_linkedinput").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_linkedinput").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_linkedinput(testC,"test_SC_linkedinput");
|
NBBaseCommand command = new NB_linkedinput(testC,"test_SC_linkedinput");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
Pattern p = Pattern.compile(".*started leader.*started follower.*stopped leader.*stopped follower.*", Pattern.DOTALL);
|
Pattern p = Pattern.compile(".*started leader.*started follower.*stopped leader.*stopped follower.*", Pattern.DOTALL);
|
||||||
@ -41,7 +41,7 @@ public class DirectRuntimeScenarioTests {
|
|||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
public void testSC_activity_init_error() {
|
public void testSC_activity_init_error() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("testSC_activity_init_error").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("testSC_activity_init_error").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NB_activity_init_error command = new NB_activity_init_error(testC, "SC_activity_init_error");
|
NB_activity_init_error command = new NB_activity_init_error(testC, "SC_activity_init_error");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
assertThat(result.getException()).isNotNull();
|
assertThat(result.getException()).isNotNull();
|
||||||
@ -52,7 +52,7 @@ public class DirectRuntimeScenarioTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_activity_error() {
|
public void test_SC_activity_error() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_activity_error").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_activity_error").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_activity_error(testC,"test_SC_activity_error");
|
NBBaseCommand command = new NB_activity_error(testC,"test_SC_activity_error");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
assertThat(result.getException()).isNotNull();
|
assertThat(result.getException()).isNotNull();
|
||||||
@ -61,14 +61,14 @@ public class DirectRuntimeScenarioTests {
|
|||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_await_finished() {
|
public void test_SC_await_finished() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_await_finished").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_await_finished").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_await_finished(testC,"test_SC_await_finished");
|
NBBaseCommand command = new NB_await_finished(testC,"test_SC_await_finished");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
assertThat(result.getIOLog()).contains("awaited activity");
|
assertThat(result.getIOLog()).contains("awaited activity");
|
||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_basicdiag() {
|
public void test_SC_basicdiag() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_basicdiag").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_basicdiag").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_basicdiag(testC,"test_SC_basicdiag");
|
NBBaseCommand command = new NB_basicdiag(testC,"test_SC_basicdiag");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
assertThat(result.getIOLog().indexOf("starting activity basic_diag")).isGreaterThanOrEqualTo(0);
|
assertThat(result.getIOLog().indexOf("starting activity basic_diag")).isGreaterThanOrEqualTo(0);
|
||||||
@ -77,7 +77,7 @@ public class DirectRuntimeScenarioTests {
|
|||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_blockingrun() {
|
public void test_SC_blockingrun() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_blockingrun").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_blockingrun").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_blockingrun(testC,"test_SC_blockingrun");
|
NBBaseCommand command = new NB_blockingrun(testC,"test_SC_blockingrun");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
assertThat(result.getIOLog()).matches(Pattern.compile(".*running.*finished.*running.*finished.*",Pattern.DOTALL));
|
assertThat(result.getIOLog()).matches(Pattern.compile(".*running.*finished.*running.*finished.*",Pattern.DOTALL));
|
||||||
@ -87,7 +87,7 @@ public class DirectRuntimeScenarioTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_cocycledelay_bursty() {
|
public void test_SC_cocycledelay_bursty() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_cocycledelay_bursty").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_cocycledelay_bursty").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_cocycledelay_bursty(testC,"test_SC_cocycledelay_bursty");
|
NBBaseCommand command = new NB_cocycledelay_bursty(testC,"test_SC_cocycledelay_bursty");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
result.report();
|
result.report();
|
||||||
@ -97,7 +97,7 @@ public class DirectRuntimeScenarioTests {
|
|||||||
@Disabled("enable before merge")
|
@Disabled("enable before merge")
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_cocycledelay_strict() {
|
public void test_SC_cocycledelay_strict() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("testest_SC_cocycledelay_strictting").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("testest_SC_cocycledelay_strictting").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_cocycledelay_strict(testC,"test_SC_cocycledelay_strict");
|
NBBaseCommand command = new NB_cocycledelay_strict(testC,"test_SC_cocycledelay_strict");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
}
|
}
|
||||||
@ -105,48 +105,48 @@ public class DirectRuntimeScenarioTests {
|
|||||||
@Disabled("enable before merge")
|
@Disabled("enable before merge")
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_cycle_rate() {
|
public void test_SC_cycle_rate() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_cycle_rate").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_cycle_rate").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_cycle_rate(testC,"test_SC_cycle_rate");
|
NBBaseCommand command = new NB_cycle_rate(testC,"test_SC_cycle_rate");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
}
|
}
|
||||||
@Disabled("enable before merge")
|
@Disabled("enable before merge")
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_cycle_rate_change() {
|
public void test_SC_cycle_rate_change() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_cycle_rate_change").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_cycle_rate_change").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_cycle_rate_change(testC,"test_SC_cycle_rate_change");
|
NBBaseCommand command = new NB_cycle_rate_change(testC,"test_SC_cycle_rate_change");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
}
|
}
|
||||||
@Disabled("enable before merge")
|
@Disabled("enable before merge")
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_extension_csvmetrics() {
|
public void test_SC_extension_csvmetrics() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_extension_csvmetrics").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_extension_csvmetrics").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_extension_csvmetrics(testC,"test_SC_extension_csvmetrics");
|
NBBaseCommand command = new NB_extension_csvmetrics(testC,"test_SC_extension_csvmetrics");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
}
|
}
|
||||||
@Disabled("enable before merge")
|
@Disabled("enable before merge")
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_extension_csvoutput() {
|
public void test_SC_extension_csvoutput() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_extension_csvoutput").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_extension_csvoutput").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_extension_csvoutput(testC,"test_SC_extension_csvoutput");
|
NBBaseCommand command = new NB_extension_csvoutput(testC,"test_SC_extension_csvoutput");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
}
|
}
|
||||||
@Disabled("enable before merge")
|
@Disabled("enable before merge")
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_extension_histostatslogger() {
|
public void test_SC_extension_histostatslogger() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_extension_histostatslogger").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_extension_histostatslogger").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_extension_histostatslogger(testC,"test_SC_extension_histostatslogger");
|
NBBaseCommand command = new NB_extension_histostatslogger(testC,"test_SC_extension_histostatslogger");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
}
|
}
|
||||||
@Disabled("enable before merge")
|
@Disabled("enable before merge")
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_extension_shutdown_hook() {
|
public void test_SC_extension_shutdown_hook() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_extension_shutdown_hook").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_extension_shutdown_hook").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_extension_shutdown_hook(testC,"test_SC_extension_shutdown_hook");
|
NBBaseCommand command = new NB_extension_shutdown_hook(testC,"test_SC_extension_shutdown_hook");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_extension_example() {
|
public void test_SC_extension_example() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_extension_example").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_extension_example").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_extension_example(testC,"test_SC_extension_example");
|
NBBaseCommand command = new NB_extension_example(testC,"test_SC_extension_example");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
// samples.exitWithCode();
|
// samples.exitWithCode();
|
||||||
@ -155,14 +155,14 @@ public class DirectRuntimeScenarioTests {
|
|||||||
@Disabled("enable before merge")
|
@Disabled("enable before merge")
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_histologger() {
|
public void test_SC_histologger() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("tetest_SC_histologgersting").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("tetest_SC_histologgersting").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_histologger(testC,"test_SC_histologger");
|
NBBaseCommand command = new NB_histologger(testC,"test_SC_histologger");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
}
|
}
|
||||||
@Disabled("enable before merge")
|
@Disabled("enable before merge")
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_optimo() {
|
public void test_SC_optimo() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_optimo").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_optimo").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_optimo_test(testC,"test_SC_optimo");
|
NBBaseCommand command = new NB_optimo_test(testC,"test_SC_optimo");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
System.out.println(result);
|
System.out.println(result);
|
||||||
@ -170,41 +170,41 @@ public class DirectRuntimeScenarioTests {
|
|||||||
@Disabled("enable before merge")
|
@Disabled("enable before merge")
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_params_variable() {
|
public void test_SC_params_variable() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_params_variable").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_params_variable").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_params_variable(testC,"test_SC_params_variable");
|
NBBaseCommand command = new NB_params_variable(testC,"test_SC_params_variable");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
}
|
}
|
||||||
@Disabled("enable before merge")
|
@Disabled("enable before merge")
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_readmetrics() {
|
public void test_SC_readmetrics() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_readmetrics").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_readmetrics").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_readmetrics(testC,"test_SC_readmetrics");
|
NBBaseCommand command = new NB_readmetrics(testC,"test_SC_readmetrics");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
}
|
}
|
||||||
@Disabled("enable before merge")
|
@Disabled("enable before merge")
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_speedcheck() {
|
public void test_SC_speedcheck() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_speedcheck").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_speedcheck").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_speedcheck(testC,"test_SC_speedcheck");
|
NBBaseCommand command = new NB_speedcheck(testC,"test_SC_speedcheck");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
}
|
}
|
||||||
@Disabled("enable before merge")
|
@Disabled("enable before merge")
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_start_stop_diag() {
|
public void test_SC_start_stop_diag() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_start_stop_diag").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_start_stop_diag").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_start_stop_diag(testC,"test_SC_start_stop_diag");
|
NBBaseCommand command = new NB_start_stop_diag(testC,"test_SC_start_stop_diag");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_threadchange() {
|
public void test_SC_threadchange() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_threadchange").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_threadchange").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_threadchange(testC,"test_SC_threadchange");
|
NBBaseCommand command = new NB_threadchange(testC,"test_SC_threadchange");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
}
|
}
|
||||||
@Disabled("enable before merge")
|
@Disabled("enable before merge")
|
||||||
@Test
|
@Test
|
||||||
public void test_SC_threadspeeds() {
|
public void test_SC_threadspeeds() {
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_threadspeeds").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_threadspeeds").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_threadspeeds(testC,"test_SC_threadspeeds");
|
NBBaseCommand command = new NB_threadspeeds(testC,"test_SC_threadspeeds");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
}
|
}
|
||||||
@ -212,7 +212,7 @@ public class DirectRuntimeScenarioTests {
|
|||||||
@Test
|
@Test
|
||||||
public void test_SC_undef_param() {
|
public void test_SC_undef_param() {
|
||||||
//.params(Map.of("one", "two", "three", "four")
|
//.params(Map.of("one", "two", "three", "four")
|
||||||
NBBufferedCommandContext testC = NBBufferedCommandContext.builder().name("test_SC_undef_param").build(TestComponent.EMPTY_COMPONENT);
|
NBBufferedContainer testC = NBBufferedContainer.builder().name("test_SC_undef_param").build(TestComponent.EMPTY_COMPONENT);
|
||||||
NBBaseCommand command = new NB_undef_param(testC, "test_SC_undef_param");
|
NBBaseCommand command = new NB_undef_param(testC, "test_SC_undef_param");
|
||||||
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
NBCommandResult result = NBCommandInvoker.invoke(testC,command);
|
||||||
String out = result.getIOLog();
|
String out = result.getIOLog();
|
||||||
|
@ -16,11 +16,10 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
|
||||||
|
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
@ -28,7 +27,7 @@ import java.io.Reader;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class NB_activity_error extends NBBaseCommand {
|
public class NB_activity_error extends NBBaseCommand {
|
||||||
public NB_activity_error(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_activity_error(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -53,7 +52,7 @@ public class NB_activity_error extends NBBaseCommand {
|
|||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
var activitydef1 = Map.of("alias", "activity_error",
|
var activitydef1 = Map.of("alias", "activity_error",
|
||||||
"driver", "diag",
|
"driver", "diag",
|
||||||
"cycles", "0..1500000",
|
"cycles", "0..1500000",
|
||||||
|
@ -16,11 +16,10 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
|
|
||||||
import io.nosqlbench.nb.annotations.Service;
|
import io.nosqlbench.nb.annotations.Service;
|
||||||
|
|
||||||
@ -30,7 +29,7 @@ import java.util.Map;
|
|||||||
|
|
||||||
@Service(value= NBBaseCommand.class,selector="activity_init_error")
|
@Service(value= NBBaseCommand.class,selector="activity_init_error")
|
||||||
public class NB_activity_init_error extends NBBaseCommand {
|
public class NB_activity_init_error extends NBBaseCommand {
|
||||||
public NB_activity_init_error(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_activity_init_error(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -53,7 +52,7 @@ public class NB_activity_init_error extends NBBaseCommand {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
var activitydef1 = Map.of(
|
var activitydef1 = Map.of(
|
||||||
"alias","activity_init_error",
|
"alias","activity_init_error",
|
||||||
"driver","diag",
|
"driver","diag",
|
||||||
|
@ -16,10 +16,9 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
|
|
||||||
|
|
||||||
@ -28,7 +27,7 @@ import java.io.Reader;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class NB_await_finished extends NBBaseCommand {
|
public class NB_await_finished extends NBBaseCommand {
|
||||||
public NB_await_finished(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_await_finished(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,7 +49,7 @@ public class NB_await_finished extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
var activitydef1 = Map.of(
|
var activitydef1 = Map.of(
|
||||||
"alias", "activity_to_await",
|
"alias", "activity_to_await",
|
||||||
"driver", "diag",
|
"driver", "diag",
|
||||||
|
@ -16,10 +16,9 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
|
|
||||||
|
|
||||||
@ -28,7 +27,7 @@ import java.io.Reader;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class NB_basicdiag extends NBBaseCommand {
|
public class NB_basicdiag extends NBBaseCommand {
|
||||||
public NB_basicdiag(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_basicdiag(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,7 +44,7 @@ public class NB_basicdiag extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
var basic_diag = params.withOverrides(
|
var basic_diag = params.withOverrides(
|
||||||
Map.of("alias","basic_diag","driver","diag")
|
Map.of("alias","basic_diag","driver","diag")
|
||||||
);
|
);
|
||||||
|
@ -16,10 +16,9 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
|
|
||||||
|
|
||||||
@ -28,7 +27,7 @@ import java.io.Reader;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class NB_blockingrun extends NBBaseCommand {
|
public class NB_blockingrun extends NBBaseCommand {
|
||||||
public NB_blockingrun(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_blockingrun(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -60,7 +59,7 @@ public class NB_blockingrun extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
var activitydef1 = Map.of(
|
var activitydef1 = Map.of(
|
||||||
"alias","blockactivity1","driver","diag",
|
"alias","blockactivity1","driver","diag",
|
||||||
"cycles","0..10000","threads","1",
|
"cycles","0..10000","threads","1",
|
||||||
|
@ -16,7 +16,8 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricGauge;
|
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricGauge;
|
||||||
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricTimer;
|
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricTimer;
|
||||||
@ -24,8 +25,7 @@ import io.nosqlbench.nb.api.components.NBComponent;
|
|||||||
import io.nosqlbench.nb.api.components.events.ParamChange;
|
import io.nosqlbench.nb.api.components.events.ParamChange;
|
||||||
import io.nosqlbench.engine.api.activityapi.core.Activity;
|
import io.nosqlbench.engine.api.activityapi.core.Activity;
|
||||||
import io.nosqlbench.engine.api.activityapi.ratelimits.simrate.CycleRateSpec;
|
import io.nosqlbench.engine.api.activityapi.ratelimits.simrate.CycleRateSpec;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
|
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
@ -33,7 +33,7 @@ import java.io.Reader;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class NB_cocycledelay_bursty extends NBBaseCommand {
|
public class NB_cocycledelay_bursty extends NBBaseCommand {
|
||||||
public NB_cocycledelay_bursty(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_cocycledelay_bursty(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -89,7 +89,7 @@ public class NB_cocycledelay_bursty extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
int diagrate = 500;
|
int diagrate = 500;
|
||||||
var co_cycle_delay_bursty = Map.of(
|
var co_cycle_delay_bursty = Map.of(
|
||||||
"alias", "co_cycle_delay_bursty",
|
"alias", "co_cycle_delay_bursty",
|
||||||
@ -100,9 +100,9 @@ public class NB_cocycledelay_bursty extends NBBaseCommand {
|
|||||||
"op", "diagrate: diagrate=" + diagrate
|
"op", "diagrate: diagrate=" + diagrate
|
||||||
// "dryrun", "op" // silent
|
// "dryrun", "op" // silent
|
||||||
);
|
);
|
||||||
NBComponent context = this;
|
NBComponent container = this;
|
||||||
while (context.getParent()!=null) {
|
while (container.getParent()!=null) {
|
||||||
context=context.getParent();
|
container=container.getParent();
|
||||||
}
|
}
|
||||||
|
|
||||||
controller.waitMillis(500);
|
controller.waitMillis(500);
|
||||||
@ -110,8 +110,8 @@ public class NB_cocycledelay_bursty extends NBBaseCommand {
|
|||||||
Activity activity = controller.start(co_cycle_delay_bursty);
|
Activity activity = controller.start(co_cycle_delay_bursty);
|
||||||
controller.waitMillis(1000);
|
controller.waitMillis(1000);
|
||||||
|
|
||||||
NBMetricTimer service_time_counter = context.find().topMetric("activity=co_cycle_delay_bursty,name=cycles_servicetime", NBMetricTimer.class);
|
NBMetricTimer service_time_counter = container.find().topMetric("activity=co_cycle_delay_bursty,name=cycles_servicetime", NBMetricTimer.class);
|
||||||
NBMetricGauge wait_time_gauge = context.find().topMetric("activity=co_cycle_delay_bursty,name=cycles_waittime",NBMetricGauge.class);
|
NBMetricGauge wait_time_gauge = container.find().topMetric("activity=co_cycle_delay_bursty,name=cycles_waittime",NBMetricGauge.class);
|
||||||
|
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
controller.waitMillis(1000);
|
controller.waitMillis(1000);
|
||||||
|
@ -16,13 +16,12 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricCounter;
|
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricCounter;
|
||||||
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricGauge;
|
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricGauge;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
|
||||||
|
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
@ -30,7 +29,7 @@ import java.io.Reader;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class NB_cocycledelay_bursty_backup extends NBBaseCommand {
|
public class NB_cocycledelay_bursty_backup extends NBBaseCommand {
|
||||||
public NB_cocycledelay_bursty_backup(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_cocycledelay_bursty_backup(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,7 +85,7 @@ public class NB_cocycledelay_bursty_backup extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
var co_cycle_delay_bursty = Map.of(
|
var co_cycle_delay_bursty = Map.of(
|
||||||
"alias", "co_cycle_delay_bursty",
|
"alias", "co_cycle_delay_bursty",
|
||||||
"driver", "diag",
|
"driver", "diag",
|
||||||
|
@ -16,10 +16,9 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
@ -27,7 +26,7 @@ import java.io.Reader;
|
|||||||
|
|
||||||
|
|
||||||
public class NB_cocycledelay_strict extends NBBaseCommand {
|
public class NB_cocycledelay_strict extends NBBaseCommand {
|
||||||
public NB_cocycledelay_strict(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_cocycledelay_strict(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,7 +62,7 @@ public class NB_cocycledelay_strict extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,10 +16,9 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
@ -27,7 +26,7 @@ import java.io.Reader;
|
|||||||
|
|
||||||
|
|
||||||
public class NB_cycle_rate extends NBBaseCommand {
|
public class NB_cycle_rate extends NBBaseCommand {
|
||||||
public NB_cycle_rate(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_cycle_rate(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,7 +47,7 @@ public class NB_cycle_rate extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,10 +16,9 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
@ -27,7 +26,7 @@ import java.io.Reader;
|
|||||||
|
|
||||||
|
|
||||||
public class NB_cycle_rate_change extends NBBaseCommand {
|
public class NB_cycle_rate_change extends NBBaseCommand {
|
||||||
public NB_cycle_rate_change(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_cycle_rate_change(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,7 +69,7 @@ public class NB_cycle_rate_change extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,18 +16,17 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
|
|
||||||
|
|
||||||
public class NB_extension_csvmetrics extends NBBaseCommand {
|
public class NB_extension_csvmetrics extends NBBaseCommand {
|
||||||
public NB_extension_csvmetrics(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_extension_csvmetrics(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -55,7 +54,7 @@ public class NB_extension_csvmetrics extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
// TODO create().csvmetrics....
|
// TODO create().csvmetrics....
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
|
@ -16,10 +16,9 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
@ -27,7 +26,7 @@ import java.io.Reader;
|
|||||||
|
|
||||||
|
|
||||||
public class NB_extension_csvoutput extends NBBaseCommand {
|
public class NB_extension_csvoutput extends NBBaseCommand {
|
||||||
public NB_extension_csvoutput(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_extension_csvoutput(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,7 +37,7 @@ public class NB_extension_csvoutput extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,11 +16,10 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
import io.nosqlbench.engine.extensions.example.ExamplePlugin;
|
import io.nosqlbench.engine.extensions.example.ExamplePlugin;
|
||||||
|
|
||||||
@ -28,7 +27,7 @@ import java.io.PrintWriter;
|
|||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
|
|
||||||
public class NB_extension_example extends NBBaseCommand {
|
public class NB_extension_example extends NBBaseCommand {
|
||||||
public NB_extension_example(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_extension_example(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,7 +38,7 @@ public class NB_extension_example extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
ExamplePlugin examplePlugin = create().requiredExtension("example", ExamplePlugin.class);
|
ExamplePlugin examplePlugin = create().requiredExtension("example", ExamplePlugin.class);
|
||||||
long sum = examplePlugin.getSum(3, 5);
|
long sum = examplePlugin.getSum(3, 5);
|
||||||
stdout.println("3+5=" + sum);
|
stdout.println("3+5=" + sum);
|
||||||
|
@ -16,18 +16,17 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
|
|
||||||
|
|
||||||
public class NB_extension_histostatslogger extends NBBaseCommand {
|
public class NB_extension_histostatslogger extends NBBaseCommand {
|
||||||
public NB_extension_histostatslogger(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_extension_histostatslogger(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,7 +49,7 @@ public class NB_extension_histostatslogger extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,10 +16,9 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
@ -27,7 +26,7 @@ import java.io.Reader;
|
|||||||
|
|
||||||
|
|
||||||
public class NB_extension_shutdown_hook extends NBBaseCommand {
|
public class NB_extension_shutdown_hook extends NBBaseCommand {
|
||||||
public NB_extension_shutdown_hook(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_extension_shutdown_hook(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,7 +37,7 @@ public class NB_extension_shutdown_hook extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,10 +16,9 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
@ -27,7 +26,7 @@ import java.io.Reader;
|
|||||||
|
|
||||||
|
|
||||||
public class NB_histologger extends NBBaseCommand {
|
public class NB_histologger extends NBBaseCommand {
|
||||||
public NB_histologger(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_histologger(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,7 +51,7 @@ public class NB_histologger extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,10 +16,9 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
@ -27,7 +26,7 @@ import java.io.Reader;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class NB_linkedinput extends NBBaseCommand {
|
public class NB_linkedinput extends NBBaseCommand {
|
||||||
public NB_linkedinput(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_linkedinput(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -61,7 +60,7 @@ public class NB_linkedinput extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
var leader = Map.of(
|
var leader = Map.of(
|
||||||
"driver", "diag",
|
"driver", "diag",
|
||||||
"alias", "leader",
|
"alias", "leader",
|
||||||
|
@ -16,12 +16,11 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.nb.api.optimizers.BobyqaOptimizerInstance;
|
import io.nosqlbench.nb.api.optimizers.BobyqaOptimizerInstance;
|
||||||
import io.nosqlbench.nb.api.optimizers.MVResult;
|
import io.nosqlbench.nb.api.optimizers.MVResult;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
|
|
||||||
|
|
||||||
@ -30,7 +29,7 @@ import java.io.Reader;
|
|||||||
import java.util.function.ToDoubleFunction;
|
import java.util.function.ToDoubleFunction;
|
||||||
|
|
||||||
public class NB_optimo_test extends NBBaseCommand {
|
public class NB_optimo_test extends NBBaseCommand {
|
||||||
public NB_optimo_test(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_optimo_test(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,7 +62,7 @@ public class NB_optimo_test extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
BobyqaOptimizerInstance bobby = create().bobyqaOptimizer();
|
BobyqaOptimizerInstance bobby = create().bobyqaOptimizer();
|
||||||
bobby.param("pa", 0.0d, 200000.0d);
|
bobby.param("pa", 0.0d, 200000.0d);
|
||||||
bobby.param("pb", 0.0d, 2000000d);
|
bobby.param("pb", 0.0d, 2000000d);
|
||||||
|
@ -16,18 +16,17 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
|
|
||||||
|
|
||||||
public class NB_params_variable extends NBBaseCommand {
|
public class NB_params_variable extends NBBaseCommand {
|
||||||
public NB_params_variable(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_params_variable(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,7 +53,7 @@ public class NB_params_variable extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,10 +17,9 @@
|
|||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.api.activityapi.core.Activity;
|
import io.nosqlbench.engine.api.activityapi.core.Activity;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricTimer;
|
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricTimer;
|
||||||
|
|
||||||
@ -30,7 +29,7 @@ import java.util.Map;
|
|||||||
|
|
||||||
|
|
||||||
public class NB_readmetrics extends NBBaseCommand {
|
public class NB_readmetrics extends NBBaseCommand {
|
||||||
public NB_readmetrics(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_readmetrics(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -57,7 +56,7 @@ public class NB_readmetrics extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
Activity activity = controller.start(Map.of(
|
Activity activity = controller.start(Map.of(
|
||||||
"alias", "testactivity",
|
"alias", "testactivity",
|
||||||
"driver", "diag",
|
"driver", "diag",
|
||||||
|
@ -16,10 +16,9 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
@ -27,7 +26,7 @@ import java.io.Reader;
|
|||||||
|
|
||||||
|
|
||||||
public class NB_speedcheck extends NBBaseCommand {
|
public class NB_speedcheck extends NBBaseCommand {
|
||||||
public NB_speedcheck(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_speedcheck(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,7 +62,7 @@ public class NB_speedcheck extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,10 +16,9 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
|
|
||||||
|
|
||||||
@ -28,7 +27,7 @@ import java.io.Reader;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class NB_start_stop_diag extends NBBaseCommand {
|
public class NB_start_stop_diag extends NBBaseCommand {
|
||||||
public NB_start_stop_diag(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_start_stop_diag(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,7 +57,7 @@ public class NB_start_stop_diag extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
|
|
||||||
var activitydef = Map.of(
|
var activitydef = Map.of(
|
||||||
"alias" , "teststartstopdiag",
|
"alias" , "teststartstopdiag",
|
||||||
|
@ -16,18 +16,17 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
|
|
||||||
|
|
||||||
public class NB_threadchange extends NBBaseCommand {
|
public class NB_threadchange extends NBBaseCommand {
|
||||||
public NB_threadchange(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_threadchange(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,7 +44,7 @@ public class NB_threadchange extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
|
|
||||||
var activity = controller.start("driver=diag;alias=threadchange;cycles=0..60000;threads=1;interval=2000;op='noop';rate=1000");
|
var activity = controller.start("driver=diag;alias=threadchange;cycles=0..60000;threads=1;interval=2000;op='noop';rate=1000");
|
||||||
activity.getActivityDef().setThreads(1);
|
activity.getActivityDef().setThreads(1);
|
||||||
|
@ -16,18 +16,17 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
|
|
||||||
|
|
||||||
public class NB_threadspeeds extends NBBaseCommand {
|
public class NB_threadspeeds extends NBBaseCommand {
|
||||||
public NB_threadspeeds(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_threadspeeds(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -85,7 +84,7 @@ public class NB_threadspeeds extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,10 +16,9 @@
|
|||||||
|
|
||||||
package io.nosqlbench.nbr.examples.injava;
|
package io.nosqlbench.nbr.examples.injava;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
|
|
||||||
|
|
||||||
@ -28,7 +27,7 @@ import java.io.Reader;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class NB_undef_param extends NBBaseCommand {
|
public class NB_undef_param extends NBBaseCommand {
|
||||||
public NB_undef_param(NBBufferedCommandContext parentComponent, String scenarioName) {
|
public NB_undef_param(NBBufferedContainer parentComponent, String scenarioName) {
|
||||||
super(parentComponent, scenarioName);
|
super(parentComponent, scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,7 +49,7 @@ public class NB_undef_param extends NBBaseCommand {
|
|||||||
* }</pre>
|
* }</pre>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
stdout.println("paramValues from command line:");
|
stdout.println("paramValues from command line:");
|
||||||
stdout.println(params.toString());
|
stdout.println(params.toString());
|
||||||
stdout.println("before: paramValues.get(\"three\"):" + params.get("three"));
|
stdout.println("before: paramValues.get(\"three\"):" + params.get("three"));
|
||||||
|
@ -17,11 +17,11 @@
|
|||||||
package io.nosqlbench.nbr.examples.injavascript;
|
package io.nosqlbench.nbr.examples.injavascript;
|
||||||
|
|
||||||
import io.nosqlbench.engine.cmdstream.BasicScriptBuffer;
|
import io.nosqlbench.engine.cmdstream.BasicScriptBuffer;
|
||||||
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.nb.api.config.standard.TestComponent;
|
import io.nosqlbench.nb.api.config.standard.TestComponent;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.nb.api.components.NBComponent;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBCommandResult;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBCommandResult;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.script.NBScriptedCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.script.NBScriptedCommand;
|
||||||
import org.apache.commons.compress.utils.IOUtils;
|
import org.apache.commons.compress.utils.IOUtils;
|
||||||
@ -62,7 +62,7 @@ public class ScriptExampleTests {
|
|||||||
System.out.println("=".repeat(29) + " Running integration test for example scenario: " + scenarioName);
|
System.out.println("=".repeat(29) + " Running integration test for example scenario: " + scenarioName);
|
||||||
|
|
||||||
NBComponent root = new TestComponent("exampletest",scriptname);
|
NBComponent root = new TestComponent("exampletest",scriptname);
|
||||||
NBBufferedCommandContext ctx = NBCommandContext.builder().name(scriptname).build(root);
|
NBBufferedContainer ctx = NBContainer.builder().name(scriptname).build(root);
|
||||||
NBScriptedCommand s = NBScriptedCommand.ofScripted(scenarioName,Map.of(),ctx, NBScriptedCommand.Invocation.EXECUTE_SCRIPT);
|
NBScriptedCommand s = NBScriptedCommand.ofScripted(scenarioName,Map.of(),ctx, NBScriptedCommand.Invocation.EXECUTE_SCRIPT);
|
||||||
|
|
||||||
ClassLoader cl = ScriptExampleTests.class.getClassLoader();
|
ClassLoader cl = ScriptExampleTests.class.getClassLoader();
|
||||||
|
@ -16,11 +16,10 @@
|
|||||||
|
|
||||||
package io.nosqlbench.scenarios.diag;
|
package io.nosqlbench.scenarios.diag;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
|
||||||
import io.nosqlbench.nb.annotations.Service;
|
import io.nosqlbench.nb.annotations.Service;
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
@ -28,12 +27,12 @@ import java.io.Reader;
|
|||||||
|
|
||||||
@Service(value = NBBaseCommand.class, selector = "diag")
|
@Service(value = NBBaseCommand.class, selector = "diag")
|
||||||
public class NB_diag extends NBBaseCommand {
|
public class NB_diag extends NBBaseCommand {
|
||||||
public NB_diag(NBBufferedCommandContext parentComponent, String scenarioName, String targetScenario) {
|
public NB_diag(NBBufferedContainer parentComponent, String scenarioName, String targetScenario) {
|
||||||
super(parentComponent, scenarioName, targetScenario);
|
super(parentComponent, scenarioName, targetScenario);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
stdout.println("diagnostic scenario writing params to stdout:");
|
stdout.println("diagnostic scenario writing params to stdout:");
|
||||||
params.forEach((k, v) -> {
|
params.forEach((k, v) -> {
|
||||||
stdout.println(k + ":" + v);
|
stdout.println(k + ":" + v);
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
package io.nosqlbench.scenarios.simframe.findmax;
|
package io.nosqlbench.scenarios.simframe.findmax;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* These search parameters are based on the original findmax algorithm, and
|
* These search parameters are based on the original findmax algorithm, and
|
||||||
|
@ -16,11 +16,11 @@
|
|||||||
|
|
||||||
package io.nosqlbench.scenarios.simframe.findmax;
|
package io.nosqlbench.scenarios.simframe.findmax;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
import io.nosqlbench.engine.api.activityapi.core.Activity;
|
import io.nosqlbench.engine.api.activityapi.core.Activity;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.nb.annotations.Service;
|
import io.nosqlbench.nb.annotations.Service;
|
||||||
import io.nosqlbench.scenarios.simframe.capture.SimFrameCapture;
|
import io.nosqlbench.scenarios.simframe.capture.SimFrameCapture;
|
||||||
import io.nosqlbench.scenarios.simframe.findmax.planners.FindmaxPlannerType;
|
import io.nosqlbench.scenarios.simframe.findmax.planners.FindmaxPlannerType;
|
||||||
@ -56,12 +56,12 @@ import java.io.Reader;
|
|||||||
public class NB_findmax extends NBBaseCommand {
|
public class NB_findmax extends NBBaseCommand {
|
||||||
private final static Logger logger = LogManager.getLogger(NB_findmax.class);
|
private final static Logger logger = LogManager.getLogger(NB_findmax.class);
|
||||||
|
|
||||||
public NB_findmax(NBBufferedCommandContext parentComponent, String scenarioName, String context) {
|
public NB_findmax(NBBufferedContainer parentComponent, String scenarioName, String context) {
|
||||||
super(parentComponent, scenarioName, context);
|
super(parentComponent, scenarioName, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
Activity flywheel = SimFrameUtils.findFlywheelActivity(controller, params.get("activity"));
|
Activity flywheel = SimFrameUtils.findFlywheelActivity(controller, params.get("activity"));
|
||||||
stdout.println("starting analysis on activity '" + flywheel.getAlias() + "'");
|
stdout.println("starting analysis on activity '" + flywheel.getAlias() + "'");
|
||||||
SimFrameUtils.awaitActivity(flywheel);
|
SimFrameUtils.awaitActivity(flywheel);
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
package io.nosqlbench.scenarios.simframe.findmax.planners;
|
package io.nosqlbench.scenarios.simframe.findmax.planners;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.scenarios.simframe.findmax.planners.ratchet.FindmaxRatchet;
|
import io.nosqlbench.scenarios.simframe.findmax.planners.ratchet.FindmaxRatchet;
|
||||||
import io.nosqlbench.scenarios.simframe.planning.SimFramePlanner;
|
import io.nosqlbench.scenarios.simframe.planning.SimFramePlanner;
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ package io.nosqlbench.scenarios.simframe.findmax.planners;
|
|||||||
import io.nosqlbench.engine.api.activityapi.core.Activity;
|
import io.nosqlbench.engine.api.activityapi.core.Activity;
|
||||||
import io.nosqlbench.engine.api.activityapi.ratelimits.simrate.CycleRateSpec;
|
import io.nosqlbench.engine.api.activityapi.ratelimits.simrate.CycleRateSpec;
|
||||||
import io.nosqlbench.engine.api.activityapi.ratelimits.simrate.SimRateSpec;
|
import io.nosqlbench.engine.api.activityapi.ratelimits.simrate.SimRateSpec;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.nb.api.components.events.ParamChange;
|
import io.nosqlbench.nb.api.components.events.ParamChange;
|
||||||
import io.nosqlbench.scenarios.simframe.capture.JournalView;
|
import io.nosqlbench.scenarios.simframe.capture.JournalView;
|
||||||
import io.nosqlbench.scenarios.simframe.findmax.FindMaxFrameParams;
|
import io.nosqlbench.scenarios.simframe.findmax.FindMaxFrameParams;
|
||||||
|
@ -19,7 +19,7 @@ package io.nosqlbench.scenarios.simframe.findmax.planners.ratchet;
|
|||||||
import io.nosqlbench.engine.api.activityapi.core.Activity;
|
import io.nosqlbench.engine.api.activityapi.core.Activity;
|
||||||
import io.nosqlbench.engine.api.activityapi.ratelimits.simrate.CycleRateSpec;
|
import io.nosqlbench.engine.api.activityapi.ratelimits.simrate.CycleRateSpec;
|
||||||
import io.nosqlbench.engine.api.activityapi.ratelimits.simrate.SimRateSpec;
|
import io.nosqlbench.engine.api.activityapi.ratelimits.simrate.SimRateSpec;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.nb.api.components.events.ParamChange;
|
import io.nosqlbench.nb.api.components.events.ParamChange;
|
||||||
import io.nosqlbench.scenarios.simframe.capture.JournalView;
|
import io.nosqlbench.scenarios.simframe.capture.JournalView;
|
||||||
import io.nosqlbench.scenarios.simframe.planning.SimFrame;
|
import io.nosqlbench.scenarios.simframe.planning.SimFrame;
|
||||||
@ -27,9 +27,6 @@ import io.nosqlbench.scenarios.simframe.planning.SimFramePlanner;
|
|||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class FindmaxRatchet extends SimFramePlanner<RatchetConfig, RatchetFrameParams> {
|
public class FindmaxRatchet extends SimFramePlanner<RatchetConfig, RatchetFrameParams> {
|
||||||
private final Logger logger = LogManager.getLogger(FindmaxRatchet.class);
|
private final Logger logger = LogManager.getLogger(FindmaxRatchet.class);
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
package io.nosqlbench.scenarios.simframe.findmax.planners.ratchet;
|
package io.nosqlbench.scenarios.simframe.findmax.planners.ratchet;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* These search parameters are based on the original findmax algorithm, and
|
* These search parameters are based on the original findmax algorithm, and
|
||||||
|
@ -16,19 +16,18 @@
|
|||||||
|
|
||||||
package io.nosqlbench.scenarios.simframe.optimo;
|
package io.nosqlbench.scenarios.simframe.optimo;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBBufferedCommandContext;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
|
||||||
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricGauge;
|
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricGauge;
|
||||||
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricHistogram;
|
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricHistogram;
|
||||||
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricTimer;
|
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricTimer;
|
||||||
import io.nosqlbench.nb.api.components.NBComponent;
|
|
||||||
import io.nosqlbench.nb.api.components.events.ParamChange;
|
import io.nosqlbench.nb.api.components.events.ParamChange;
|
||||||
import io.nosqlbench.nb.api.components.events.SetThreads;
|
import io.nosqlbench.nb.api.components.events.SetThreads;
|
||||||
import io.nosqlbench.engine.api.activityapi.core.Activity;
|
import io.nosqlbench.engine.api.activityapi.core.Activity;
|
||||||
import io.nosqlbench.engine.api.activityapi.ratelimits.simrate.CycleRateSpec;
|
import io.nosqlbench.engine.api.activityapi.ratelimits.simrate.CycleRateSpec;
|
||||||
import io.nosqlbench.engine.api.activityapi.ratelimits.simrate.SimRateSpec;
|
import io.nosqlbench.engine.api.activityapi.ratelimits.simrate.SimRateSpec;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.scenarios.simframe.capture.SimFrameCapture;
|
import io.nosqlbench.scenarios.simframe.capture.SimFrameCapture;
|
||||||
import io.nosqlbench.scenarios.simframe.capture.SimFrameJournal;
|
import io.nosqlbench.scenarios.simframe.capture.SimFrameJournal;
|
||||||
import io.nosqlbench.scenarios.simframe.findmax.NB_findmax;
|
import io.nosqlbench.scenarios.simframe.findmax.NB_findmax;
|
||||||
@ -46,9 +45,6 @@ import org.apache.logging.log4j.Logger;
|
|||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Optional;
|
|
||||||
import java.util.concurrent.locks.LockSupport;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If the initial trust radius is not large enough with respect to the stopping trust radius, then the search will stop
|
* If the initial trust radius is not large enough with respect to the stopping trust radius, then the search will stop
|
||||||
@ -69,12 +65,12 @@ import java.util.concurrent.locks.LockSupport;
|
|||||||
public class NB_optimo extends NBBaseCommand {
|
public class NB_optimo extends NBBaseCommand {
|
||||||
private final static Logger logger = LogManager.getLogger(NB_findmax.class);
|
private final static Logger logger = LogManager.getLogger(NB_findmax.class);
|
||||||
|
|
||||||
public NB_optimo(NBBufferedCommandContext parentComponent, String phaseName, String targetScenario) {
|
public NB_optimo(NBBufferedContainer parentComponent, String phaseName, String targetScenario) {
|
||||||
super(parentComponent, phaseName, targetScenario);
|
super(parentComponent, phaseName, targetScenario);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContextActivitiesController controller) {
|
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
|
||||||
// TODO: having "scenario" here as well as in "named scenario" in workload templates is confusing. Make this clearer.
|
// TODO: having "scenario" here as well as in "named scenario" in workload templates is confusing. Make this clearer.
|
||||||
|
|
||||||
Activity flywheel = SimFrameUtils.findFlywheelActivity(controller, params.get("activity"));
|
Activity flywheel = SimFrameUtils.findFlywheelActivity(controller, params.get("activity"));
|
||||||
|
@ -18,7 +18,7 @@ package io.nosqlbench.scenarios.simframe.optimo;
|
|||||||
|
|
||||||
import io.nosqlbench.engine.api.activityapi.core.Activity;
|
import io.nosqlbench.engine.api.activityapi.core.Activity;
|
||||||
import io.nosqlbench.engine.api.activityapi.core.RunState;
|
import io.nosqlbench.engine.api.activityapi.core.RunState;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.scenarios.simframe.capture.SimFrameCapture;
|
import io.nosqlbench.scenarios.simframe.capture.SimFrameCapture;
|
||||||
import io.nosqlbench.scenarios.simframe.capture.SimFrameJournal;
|
import io.nosqlbench.scenarios.simframe.capture.SimFrameJournal;
|
||||||
import io.nosqlbench.scenarios.simframe.planning.SimFrameFunction;
|
import io.nosqlbench.scenarios.simframe.planning.SimFrameFunction;
|
||||||
@ -29,10 +29,10 @@ public class OptimoFrameFunction implements SimFrameFunction {
|
|||||||
private final SimFrameCapture capture;
|
private final SimFrameCapture capture;
|
||||||
private final SimFrameJournal<OptimoFrameParams> journal;
|
private final SimFrameJournal<OptimoFrameParams> journal;
|
||||||
private final OptimoSearchSettings settings;
|
private final OptimoSearchSettings settings;
|
||||||
private final ContextActivitiesController controller;
|
private final ContainerActivitiesController controller;
|
||||||
|
|
||||||
public OptimoFrameFunction(
|
public OptimoFrameFunction(
|
||||||
ContextActivitiesController controller,
|
ContainerActivitiesController controller,
|
||||||
OptimoSearchSettings settings,
|
OptimoSearchSettings settings,
|
||||||
Activity flywheel,
|
Activity flywheel,
|
||||||
SimFrameCapture capture,
|
SimFrameCapture capture,
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
package io.nosqlbench.scenarios.simframe.optimo;
|
package io.nosqlbench.scenarios.simframe.optimo;
|
||||||
|
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
|
|
||||||
public record OptimoSearchSettings(
|
public record OptimoSearchSettings(
|
||||||
long sample_time_ms,
|
long sample_time_ms,
|
||||||
|
@ -19,7 +19,7 @@ package io.nosqlbench.scenarios.simframe.optimo;
|
|||||||
import io.nosqlbench.engine.api.activityapi.core.Activity;
|
import io.nosqlbench.engine.api.activityapi.core.Activity;
|
||||||
import io.nosqlbench.engine.api.activityapi.ratelimits.simrate.CycleRateSpec;
|
import io.nosqlbench.engine.api.activityapi.ratelimits.simrate.CycleRateSpec;
|
||||||
import io.nosqlbench.engine.api.activityapi.ratelimits.simrate.SimRateSpec;
|
import io.nosqlbench.engine.api.activityapi.ratelimits.simrate.SimRateSpec;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.nb.api.components.events.ParamChange;
|
import io.nosqlbench.nb.api.components.events.ParamChange;
|
||||||
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricTimer;
|
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricTimer;
|
||||||
|
|
||||||
@ -44,7 +44,7 @@ public class SimFrameUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Activity findFlywheelActivity(ContextActivitiesController controller, String providedActivityName) {
|
public static Activity findFlywheelActivity(ContainerActivitiesController controller, String providedActivityName) {
|
||||||
Optional<Activity> optionalActivity = Optional.ofNullable(providedActivityName).flatMap(controller::getActivity);
|
Optional<Activity> optionalActivity = Optional.ofNullable(providedActivityName).flatMap(controller::getActivity);
|
||||||
if (providedActivityName!=null && optionalActivity.isEmpty()) {
|
if (providedActivityName!=null && optionalActivity.isEmpty()) {
|
||||||
throw new RuntimeException("you specified activity '" + providedActivityName + "' but it was not found.");
|
throw new RuntimeException("you specified activity '" + providedActivityName + "' but it was not found.");
|
||||||
|
@ -17,8 +17,8 @@
|
|||||||
package io.nosqlbench.scenarios.simframe.planning;
|
package io.nosqlbench.scenarios.simframe.planning;
|
||||||
|
|
||||||
import io.nosqlbench.engine.api.activityapi.core.Activity;
|
import io.nosqlbench.engine.api.activityapi.core.Activity;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.ContextActivitiesController;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
|
||||||
import io.nosqlbench.engine.core.lifecycle.scenario.context.NBCommandParams;
|
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
|
||||||
import io.nosqlbench.scenarios.simframe.capture.*;
|
import io.nosqlbench.scenarios.simframe.capture.*;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
@ -62,7 +62,7 @@ public abstract class SimFramePlanner<C,P extends Record> {
|
|||||||
public abstract P nextStep(JournalView<P> journal);
|
public abstract P nextStep(JournalView<P> journal);
|
||||||
|
|
||||||
public abstract void applyParams(P params, Activity activity);
|
public abstract void applyParams(P params, Activity activity);
|
||||||
public P analyze(Activity flywheel, SimFrameCapture capture, PrintWriter stdout, PrintWriter stderr, ContextActivitiesController controller) {
|
public P analyze(Activity flywheel, SimFrameCapture capture, PrintWriter stdout, PrintWriter stderr, ContainerActivitiesController controller) {
|
||||||
var frameParams = initialStep();
|
var frameParams = initialStep();
|
||||||
|
|
||||||
while (frameParams != null) {
|
while (frameParams != null) {
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.antlr</groupId>
|
<groupId>org.antlr</groupId>
|
||||||
<artifactId>antlr4-maven-plugin</artifactId>
|
<artifactId>antlr4-maven-plugin</artifactId>
|
||||||
<version>4.13.0</version>
|
<version>4.13.1</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<sourceDirectory>src/main/java/io/nosqlbench/virtdata/lang/grammars</sourceDirectory>
|
<sourceDirectory>src/main/java/io/nosqlbench/virtdata/lang/grammars</sourceDirectory>
|
||||||
<arguments>
|
<arguments>
|
||||||
|
@ -41,7 +41,7 @@ public class ToBigDecimal implements DoubleFunction<BigDecimal> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert all input values to BigDecimal values with a specific MathContext.
|
* Convert all input values to BigDecimal values with a specific MathContext.
|
||||||
* The value for context can be one of UNLIMITED,
|
* The value for mathCtx can be one of UNLIMITED,
|
||||||
* DECIMAL32, DECIMAL64, DECIMAL128, or any valid configuration supported by
|
* DECIMAL32, DECIMAL64, DECIMAL128, or any valid configuration supported by
|
||||||
* {@link MathContext#MathContext(String)}, such as {@code "precision=32 roundingMode=CEILING"}.
|
* {@link MathContext#MathContext(String)}, such as {@code "precision=32 roundingMode=CEILING"}.
|
||||||
* In the latter form, roundingMode can be any valid value for {@link RoundingMode}, like
|
* In the latter form, roundingMode can be any valid value for {@link RoundingMode}, like
|
||||||
@ -52,8 +52,8 @@ public class ToBigDecimal implements DoubleFunction<BigDecimal> {
|
|||||||
@Example({"ToBigDecimal('DECIMAL128')", "IEEE 754R Decimal128 format, 34 digits, HALF_EVEN"})
|
@Example({"ToBigDecimal('DECIMAL128')", "IEEE 754R Decimal128 format, 34 digits, HALF_EVEN"})
|
||||||
@Example({"ToBigDecimal('UNLIMITED')", "unlimited precision, HALF_UP"})
|
@Example({"ToBigDecimal('UNLIMITED')", "unlimited precision, HALF_UP"})
|
||||||
@Example({"ToBigDecimal('precision=17 roundingMode=UNNECESSARY')", "Custom precision with no rounding performed"})
|
@Example({"ToBigDecimal('precision=17 roundingMode=UNNECESSARY')", "Custom precision with no rounding performed"})
|
||||||
public ToBigDecimal(String context) {
|
public ToBigDecimal(String mathCtx) {
|
||||||
this.mathContext = MathContextReader.getMathContext(context);
|
this.mathContext = MathContextReader.getMathContext(mathCtx);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -31,11 +31,11 @@ import java.util.function.Function;
|
|||||||
@Categories(Category.conversion)
|
@Categories(Category.conversion)
|
||||||
public class ToBigDecimal implements Function<String, BigDecimal> {
|
public class ToBigDecimal implements Function<String, BigDecimal> {
|
||||||
|
|
||||||
private final MathContext context;
|
private final MathContext mathCtx;
|
||||||
|
|
||||||
@Example({"Convert strings to BigDecimal according to default precision (unlimited) and rounding (HALF_UP)"})
|
@Example({"Convert strings to BigDecimal according to default precision (unlimited) and rounding (HALF_UP)"})
|
||||||
public ToBigDecimal() {
|
public ToBigDecimal() {
|
||||||
this.context = MathContext.UNLIMITED;
|
this.mathCtx = MathContext.UNLIMITED;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -46,14 +46,14 @@ public class ToBigDecimal implements Function<String, BigDecimal> {
|
|||||||
* In the latter form, roundingMode can be any valid value for {@link RoundingMode}, like
|
* In the latter form, roundingMode can be any valid value for {@link RoundingMode}, like
|
||||||
* UP, DOWN, CEILING, FLOOR, HALF_UP, HALF_DOWN, HALF_EVEN, or UNNECESSARY.
|
* UP, DOWN, CEILING, FLOOR, HALF_UP, HALF_DOWN, HALF_EVEN, or UNNECESSARY.
|
||||||
*/
|
*/
|
||||||
public ToBigDecimal(String context) {
|
public ToBigDecimal(String mathCtx) {
|
||||||
this.context =
|
this.mathCtx =
|
||||||
MathContextReader.getMathContext(context);
|
MathContextReader.getMathContext(mathCtx);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BigDecimal apply(String s) {
|
public BigDecimal apply(String s) {
|
||||||
return new BigDecimal(s, context);
|
return new BigDecimal(s, mathCtx);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user