this commit renames StandardActivity to Activity, as the one and only

This commit is contained in:
Jonathan Shook 2024-12-19 14:36:53 -06:00
parent ced01b132b
commit 6b43b10509
48 changed files with 188 additions and 167 deletions

View File

@ -1,5 +1,23 @@
package io.nosqlbench.adapters.api.activityimpl.uniform;
/*
* Copyright (c) nosqlbench
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import java.util.Map;
import io.nosqlbench.adapters.api.activityimpl.OpDispenser;
import io.nosqlbench.nb.api.components.core.NBNamedElement;

View File

@ -16,7 +16,7 @@
package io.nosqlbench.engine.api.activityapi.core;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import java.util.Map;
@ -25,5 +25,5 @@ import java.util.Map;
* activities that are present in a configuration. Those dispensers will have th
*/
public interface ActivitiesAware {
void setActivitiesMap(Map<String, StandardActivity> activities);
void setActivitiesMap(Map<String, Activity> activities);
}

View File

@ -17,7 +17,7 @@
package io.nosqlbench.engine.api.activityapi.core;
import io.nosqlbench.engine.api.activityapi.core.ops.fluent.opfacets.TrackedOp;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
import io.nosqlbench.nb.api.engine.activityimpl.ParameterMap;
import org.apache.logging.log4j.Logger;
@ -28,7 +28,7 @@ import org.apache.logging.log4j.LogManager;
* @param <D> An type of state holder for an operation, holding everything unique to that cycle and operation
* @param <A> An type of of an Activity, a state holder for a runtime instance of an StandardActivity
*/
public abstract class BaseAsyncAction<D, A extends StandardActivity> implements AsyncAction<D>,
public abstract class BaseAsyncAction<D, A extends Activity> implements AsyncAction<D>,
Stoppable, ActivityDefObserver {
private final static Logger logger = LogManager.getLogger("BaseAsyncAction");

View File

@ -17,24 +17,19 @@
package io.nosqlbench.engine.api.activityapi.core;
import com.codahale.metrics.Counter;
import com.codahale.metrics.Histogram;
import com.codahale.metrics.Timer;
import io.nosqlbench.adapters.api.activityimpl.OpDispenser;
import io.nosqlbench.engine.api.activityapi.planning.OpSequence;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
import io.nosqlbench.nb.api.engine.activityimpl.ParameterMap;
import io.nosqlbench.nb.api.engine.metrics.instruments.*;
import java.util.concurrent.Future;
public class ComponentActivityInstrumentation {
private static final String WAIT_TIME = "_waittime";
private static final String SERVICE_TIME = "_servicetime";
private static final String RESPONSE_TIME = "_responsetime";
private final StandardActivity activity;
private final Activity activity;
private final ActivityDef def;
private final ParameterMap params;
private final int hdrdigits;
@ -56,7 +51,7 @@ public class ComponentActivityInstrumentation {
private NBMetricGauge errorRateTotal;
private NBMetricGauge errorsTotal;
public ComponentActivityInstrumentation(final StandardActivity activity) {
public ComponentActivityInstrumentation(final Activity activity) {
this.activity = activity;
def = activity.getActivityDef();
params = this.def.getParams();

View File

@ -19,22 +19,18 @@ package io.nosqlbench.engine.api.activityapi.core;
import io.nosqlbench.engine.api.activityapi.core.progress.ProgressCapable;
import io.nosqlbench.engine.api.activityapi.core.progress.StateCapable;
import io.nosqlbench.engine.api.activityapi.cyclelog.filters.IntPredicateDispenser;
import io.nosqlbench.engine.api.activityapi.errorhandling.ErrorMetrics;
import io.nosqlbench.engine.api.activityapi.input.InputDispenser;
import io.nosqlbench.engine.api.activityapi.output.OutputDispenser;
import io.nosqlbench.engine.api.activityapi.simrate.RateLimiter;
import io.nosqlbench.engine.api.activityimpl.motor.RunStateTally;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.nb.api.components.core.NBComponent;
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
import io.nosqlbench.nb.api.engine.activityimpl.ParameterMap;
import java.io.InputStream;
import java.io.PrintWriter;
/**
* Provides the components needed to build and run an activity a runtime.
* The easiest way to build a useful StandardActivity is to extend {@link StandardActivity}.
* The easiest way to build a useful StandardActivity is to extend {@link Activity}.
*/
public interface IActivityWiring extends Comparable<IActivityWiring>, ActivityDefObserver, ProgressCapable, StateCapable, NBComponent {

View File

@ -18,7 +18,7 @@ package io.nosqlbench.engine.api.activityapi.core.ops.fluent;
import com.codahale.metrics.Counter;
import com.codahale.metrics.Timer;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
import io.nosqlbench.engine.api.activityapi.core.ActivityDefObserver;
import io.nosqlbench.engine.api.activityapi.core.ops.fluent.opfacets.*;
@ -43,7 +43,7 @@ public class OpTrackerImpl<D> implements OpTracker<D>, ActivityDefObserver {
private LongFunction<D> cycleOpFunction;
public OpTrackerImpl(StandardActivity activity, long slot) {
public OpTrackerImpl(Activity activity, long slot) {
this.slot = slot;
this.label = "tracker-" + slot + "_" + activity.getAlias();

View File

@ -16,7 +16,7 @@
package io.nosqlbench.engine.api.activityapi.core.progress;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricTimer;
import io.nosqlbench.nb.api.engine.util.Unit;
@ -24,12 +24,12 @@ import java.time.Instant;
public class ActivityMetricProgressMeter implements ProgressMeterDisplay, CompletedMeter, RemainingMeter, ActiveMeter {
private final StandardActivity activity;
private final Activity activity;
private final Instant startInstant;
private final NBMetricTimer bindTimer;
private final NBMetricTimer cyclesTimer;
public ActivityMetricProgressMeter(StandardActivity activity) {
public ActivityMetricProgressMeter(Activity activity) {
this.activity = activity;
this.startInstant = Instant.ofEpochMilli(activity.getStartedAtMillis());
this.bindTimer = activity.bindTimer;

View File

@ -16,7 +16,7 @@
package io.nosqlbench.engine.api.activityapi.cyclelog.filters;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.engine.api.util.SimpleConfig;
import io.nosqlbench.nb.annotations.Maturity;
import io.nosqlbench.nb.api.spi.SimpleServiceLoader;
@ -28,7 +28,7 @@ public interface ExperimentalResultFilterType {
SimpleServiceLoader<ExperimentalResultFilterType> FINDER =
new SimpleServiceLoader<>(ExperimentalResultFilterType.class, Maturity.Any);
default IntPredicateDispenser getFilterDispenser(StandardActivity activity) {
default IntPredicateDispenser getFilterDispenser(Activity activity) {
SimpleConfig conf = new SimpleConfig(activity.getWiring(), "resultfilter");
return getFilterDispenser(conf);
}

View File

@ -16,7 +16,7 @@
package io.nosqlbench.engine.api.activityapi.cyclelog.inputs.cyclelog;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.nb.api.components.core.NBBaseComponent;
import io.nosqlbench.nb.api.components.core.NBComponent;
import io.nosqlbench.nb.api.labels.NBLabeledElement;
@ -50,7 +50,7 @@ public class CycleLogInput extends NBBaseComponent implements Input, AutoCloseab
private Iterator<CycleResult> segmentIter;
private Predicate<ResultReadable> filter;
public CycleLogInput(StandardActivity activity) {
public CycleLogInput(Activity activity) {
super(activity, NBLabels.forKV("input","cyclelog"));
SimpleConfig conf = new SimpleConfig(activity.getActivityDef(), "input");
mbb =

View File

@ -19,23 +19,23 @@ package io.nosqlbench.engine.api.activityapi.cyclelog.inputs.cyclelog;
import io.nosqlbench.engine.api.activityapi.input.Input;
import io.nosqlbench.engine.api.activityapi.input.InputDispenser;
import io.nosqlbench.engine.api.activityapi.input.InputType;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.nb.annotations.Service;
@Service(value = InputType.class, selector = "cyclelog")
public class CycleLogInputType implements InputType {
@Override
public InputDispenser getInputDispenser(StandardActivity activity) {
public InputDispenser getInputDispenser(Activity activity) {
return new CycleLogInputDispenser(activity);
}
public static class CycleLogInputDispenser implements InputDispenser {
private final StandardActivity activity;
private final Activity activity;
private final Input input;
public CycleLogInputDispenser(StandardActivity activity) {
public CycleLogInputDispenser(Activity activity) {
this.activity = activity;
this.input = new CycleLogInput(activity);
}

View File

@ -18,7 +18,7 @@ package io.nosqlbench.engine.api.activityapi.cyclelog.outputs.logger;
import io.nosqlbench.engine.api.activityapi.output.Output;
import io.nosqlbench.engine.api.activityapi.output.OutputDispenser;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.nb.annotations.Service;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@ -27,9 +27,9 @@ import org.apache.logging.log4j.Logger;
public class LoggingMarkerDispenser implements OutputDispenser {
private final static Logger logger = LogManager.getLogger(LoggingMarkerDispenser.class);
private final StandardActivity activity;
private final Activity activity;
public LoggingMarkerDispenser(StandardActivity activity) {
public LoggingMarkerDispenser(Activity activity) {
this.activity = activity;
}

View File

@ -16,7 +16,7 @@
package io.nosqlbench.engine.api.activityapi.input;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.nb.annotations.Maturity;
import io.nosqlbench.nb.api.spi.SimpleServiceLoader;
@ -25,5 +25,5 @@ public interface InputType {
SimpleServiceLoader<InputType> FINDER =
new SimpleServiceLoader<>(InputType.class, Maturity.Any);
InputDispenser getInputDispenser(StandardActivity parent);
InputDispenser getInputDispenser(Activity parent);
}

View File

@ -16,9 +16,9 @@
package io.nosqlbench.engine.api.activityimpl;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
public interface ActivityDispenser {
StandardActivity getActivity(ActivityDef activityDef);
Activity getActivity(ActivityDef activityDef);
}

View File

@ -17,8 +17,8 @@
package io.nosqlbench.engine.api.activityimpl;
import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results.ResultReadable;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.engine.api.activityimpl.uniform.ActivityWiring;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.util.SimpleConfig;
import io.nosqlbench.engine.api.activityapi.cyclelog.filters.ResultFilterDispenser;
import io.nosqlbench.engine.api.activityapi.cyclelog.filters.ResultValueFilterType;
@ -33,7 +33,7 @@ import java.util.function.Predicate;
public class CoreServices {
private static StandardActivity parent;
private static Activity parent;
public static <A> Optional<OutputDispenser> getOutputDispenser(
NBComponent parent, ActivityWiring activity) {
@ -69,7 +69,7 @@ public class CoreServices {
// return intPredicateDispenser;
// }
//
public static <A> InputDispenser getInputDispenser(StandardActivity activity) {
public static <A> InputDispenser getInputDispenser(Activity activity) {
String inputTypeName = new SimpleConfig(activity, "input").getString("type").orElse("atomicseq");
InputType inputType = InputType.FINDER.getOrThrow(inputTypeName);
InputDispenser dispenser = inputType.getInputDispenser(activity);
@ -80,7 +80,7 @@ public class CoreServices {
return dispenser;
}
public static <A> Optional<Predicate<ResultReadable>> getInputFilter(StandardActivity activity) {
public static <A> Optional<Predicate<ResultReadable>> getInputFilter(Activity activity) {
String paramdata= activity.getParams().getOptionalString("if")
.orElse(activity.getParams().getOptionalString("inputfilter").orElse(null));
if (paramdata==null) {

View File

@ -16,7 +16,7 @@
package io.nosqlbench.engine.api.activityimpl.input;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.engine.api.util.SimpleConfig;
import io.nosqlbench.engine.api.activityapi.core.ActivitiesAware;
import io.nosqlbench.engine.api.activityapi.input.Input;
@ -27,11 +27,11 @@ import java.util.Map;
public class CoreInputDispenser implements InputDispenser, ActivitiesAware {
private final StandardActivity activity;
private Map<String, StandardActivity> activities;
private final Activity activity;
private Map<String, Activity> activities;
private Input input;
public CoreInputDispenser(StandardActivity activity) {
public CoreInputDispenser(Activity activity) {
this.activity = activity;
}
@ -56,7 +56,7 @@ public class CoreInputDispenser implements InputDispenser, ActivitiesAware {
}
@Override
public void setActivitiesMap(Map<String, StandardActivity> activities) {
public void setActivitiesMap(Map<String, Activity> activities) {
this.activities = activities;
}

View File

@ -19,23 +19,23 @@ package io.nosqlbench.engine.api.activityimpl.input;
import io.nosqlbench.engine.api.activityapi.input.Input;
import io.nosqlbench.engine.api.activityapi.input.InputDispenser;
import io.nosqlbench.engine.api.activityapi.input.InputType;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.nb.annotations.Service;
@Service(value= InputType.class, selector="atomicseq")
public class TargetRateInputType implements InputType {
@Override
public InputDispenser getInputDispenser(StandardActivity activity) {
public InputDispenser getInputDispenser(Activity activity) {
return new Dispenser(activity);
}
public static class Dispenser implements InputDispenser {
private final StandardActivity activity;
private final Activity activity;
private final AtomicInput input;
public Dispenser(StandardActivity activity) {
public Dispenser(Activity activity) {
this.activity = activity;
this.input = new AtomicInput(activity, activity.getActivityDef());
}

View File

@ -20,7 +20,7 @@ import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results.CycleResult
import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results.CycleResult;
import io.nosqlbench.engine.api.activityapi.cyclelog.buffers.results.CycleResultsIntervalSegment;
import io.nosqlbench.engine.api.activityapi.output.Output;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
@ -71,7 +71,7 @@ public class ContiguousOutputChunker implements Output {
initExtents();
}
public ContiguousOutputChunker(StandardActivity activity) {
public ContiguousOutputChunker(Activity activity) {
if (!(activity.getWiring().getInputDispenserDelegate().getInput(0).isContiguous())) {
throw new RuntimeException("This type of output may not be used with non-contiguous inputs yet.");

View File

@ -25,12 +25,9 @@ import io.nosqlbench.engine.api.activityapi.core.ops.fluent.OpTracker;
import io.nosqlbench.engine.api.activityapi.input.Input;
import io.nosqlbench.engine.api.activityapi.output.Output;
import io.nosqlbench.engine.api.activityapi.simrate.RateLimiter;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.nb.api.components.core.NBBaseComponent;
import io.nosqlbench.nb.api.components.core.NBComponent;
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
import io.nosqlbench.nb.api.engine.metrics.instruments.MetricCategory;
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricTimer;
import io.nosqlbench.nb.api.labels.NBLabels;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
@ -55,7 +52,7 @@ public class CoreMotor<D> extends NBBaseComponent implements ActivityDefObserver
private static final Logger logger = LogManager.getLogger(CoreMotor.class);
private final long slotId;
private final StandardActivity activity;
private final Activity activity;
private Timer inputTimer;
@ -89,8 +86,9 @@ public class CoreMotor<D> extends NBBaseComponent implements ActivityDefObserver
@param input
A LongSupplier which provides the cycle number inputs.
*/
public CoreMotor(StandardActivity activity, long slotId, Input input, SyncAction action,
Output output) {
public CoreMotor(
Activity activity, long slotId, Input input, SyncAction action,
Output output) {
super(activity, NBLabels.forKV("motor", "coremotor"));
this.activity = activity;
this.slotId = slotId;

View File

@ -15,8 +15,7 @@
*/
package io.nosqlbench.engine.api.activityimpl.motor;
import io.nosqlbench.engine.api.activityimpl.uniform.ActivityWiring;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
import io.nosqlbench.engine.api.activityapi.core.*;
import io.nosqlbench.engine.api.activityapi.input.Input;
@ -32,15 +31,16 @@ import java.util.function.IntPredicate;
*/
public class CoreMotorDispenser<D> implements MotorDispenser<D> {
private final StandardActivity activity;
private final Activity activity;
private final InputDispenser inputDispenser;
private final ActionDispenser actionDispenser;
private final OutputDispenser outputDispenser;
public CoreMotorDispenser(StandardActivity activity,
InputDispenser inputDispenser,
ActionDispenser actionDispenser,
OutputDispenser outputDispenser
public CoreMotorDispenser(
Activity activity,
InputDispenser inputDispenser,
ActionDispenser actionDispenser,
OutputDispenser outputDispenser
) {
this.activity = activity;
this.inputDispenser = inputDispenser;

View File

@ -86,9 +86,9 @@ import java.util.function.LongFunction;
@param <S>
The context type for the activity, AKA the 'space' for a named driver instance and its
associated object graph */
public class StandardActivity<R extends java.util.function.LongFunction, S>
public class Activity<R extends java.util.function.LongFunction, S>
extends NBStatusComponent implements InvokableResult, SyntheticOpTemplateProvider, ActivityDefObserver, StateCapable,
ProgressCapable, Comparable<StandardActivity> {
ProgressCapable, Comparable<Activity> {
private static final Logger logger = LogManager.getLogger("ACTIVITY");
private final OpSequence<OpDispenser<? extends CycleOp<?>>> sequence;
private final ConcurrentHashMap<String, DriverAdapter<CycleOp<?>, Space>> adapters = new ConcurrentHashMap<>();
@ -124,7 +124,7 @@ public class StandardActivity<R extends java.util.function.LongFunction, S>
private static final String RESPONSE_TIME = "_responsetime";
private static final String SERVICE_TIME = "_servicetime";
public StandardActivity(NBComponent parent, ActivityDef activityDef, ActivityWiring wiring) {
public Activity(NBComponent parent, ActivityDef activityDef, ActivityWiring wiring) {
super(parent, NBLabels.forKV("activity", activityDef.getAlias()).and(activityDef.auxLabels()));
this.activityDef = activityDef;
@ -265,7 +265,7 @@ public class StandardActivity<R extends java.util.function.LongFunction, S>
workload = OpsLoader.loadPath(yaml_loc.get(), disposable, "activities");
yamlmodel = workload.getConfigModel();
} else {
yamlmodel = ConfigModel.of(StandardActivity.class).asReadOnly();
yamlmodel = ConfigModel.of(Activity.class).asReadOnly();
}
Optional<String> defaultDriverName = activityDef.getParams().getOptionalString("driver");
@ -283,7 +283,7 @@ public class StandardActivity<R extends java.util.function.LongFunction, S>
// HERE, op templates are loaded before drivers are loaded
// List<OpTemplate> opTemplates = loadOpTemplates(defaultAdapter.orElse(null), false);
List<DriverAdapter<CycleOp<?>, Space>> adapterlist = new ArrayList<>();
NBConfigModel supersetConfig = ConfigModel.of(StandardActivity.class).add(yamlmodel);
NBConfigModel supersetConfig = ConfigModel.of(Activity.class).add(yamlmodel);
Optional<String> defaultDriverOption = defaultDriverName;
ConcurrentHashMap<String, OpMapper<? extends CycleOp<?>, ? extends Space>> mappers = new ConcurrentHashMap<>();
@ -947,7 +947,7 @@ public class StandardActivity<R extends java.util.function.LongFunction, S>
}
@Override
public int compareTo(StandardActivity o) {
public int compareTo(Activity o) {
return this.getActivityDef().getAlias().compareTo(o.getActivityDef().getAlias());
}

View File

@ -1,5 +1,23 @@
package io.nosqlbench.engine.api.activityimpl.uniform;
/*
* Copyright (c) nosqlbench
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import io.nosqlbench.engine.api.activityapi.core.ActionDispenser;
import io.nosqlbench.engine.api.activityapi.core.MotorDispenser;
import io.nosqlbench.engine.api.activityapi.cyclelog.filters.IntPredicateDispenser;

View File

@ -20,9 +20,9 @@ import io.nosqlbench.engine.api.activityapi.core.ActionDispenser;
import io.nosqlbench.engine.api.activityimpl.uniform.actions.StandardAction;
public class StandardActionDispenser implements ActionDispenser {
private final StandardActivity activity;
private final Activity activity;
public <A> StandardActionDispenser(StandardActivity activity) {
public <A> StandardActionDispenser(Activity activity) {
this.activity = activity;
}

View File

@ -35,7 +35,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
public class StandardActivityType<A extends StandardActivity<?,?>> {
public class StandardActivityType<A extends Activity<?,?>> {
private static final Logger logger = LogManager.getLogger("ACTIVITY");
private final Map<String, DriverAdapter> adapters = new HashMap<>();
@ -75,14 +75,14 @@ public class StandardActivityType<A extends StandardActivity<?,?>> {
if (activityDef.getParams().getOptionalString("async").isPresent())
throw new RuntimeException("This driver does not support async mode yet.");
return (A) new StandardActivity(parent, activityDef, wiring);
return (A) new Activity(parent, activityDef, wiring);
}
/**
* This method will be called <em>once</em> per action instance.
* @return an instance of ActionDispenser
*/
public ActionDispenser getActionDispenser(final StandardActivity activity) {
public ActionDispenser getActionDispenser(final Activity activity) {
return new StandardActionDispenser(activity);
}
@ -94,13 +94,13 @@ public class StandardActivityType<A extends StandardActivity<?,?>> {
* @param activities a map of existing activities
* @return a distinct activity instance for each call
*/
public StandardActivity getAssembledActivity(
public Activity getAssembledActivity(
final NBComponent parent, final ActivityDef activityDef,
final Map<String, StandardActivity> activities
final Map<String, Activity> activities
) {
// final A activity = this.getActivity(activityDef, parent);
ActivityWiring wiring = new ActivityWiring(activityDef);
StandardActivity activity = new StandardActivity(parent, activityDef, wiring);
Activity activity = new Activity(parent, activityDef, wiring);
final InputDispenser inputDispenser = this.getInputDispenser(activity);
if (inputDispenser instanceof ActivitiesAware) ((ActivitiesAware) inputDispenser).setActivitiesMap(activities);
@ -142,12 +142,12 @@ public class StandardActivityType<A extends StandardActivity<?,?>> {
* @param activity the StandardActivity instance which will parameterize this InputDispenser
* @return the InputDispenser for the associated activity
*/
public InputDispenser getInputDispenser(final StandardActivity activity) {
public InputDispenser getInputDispenser(final Activity activity) {
return CoreServices.getInputDispenser(activity);
}
public <T> MotorDispenser<T> getMotorDispenser(
final StandardActivity activity,
final Activity activity,
final InputDispenser inputDispenser,
final ActionDispenser actionDispenser,
final OutputDispenser outputDispenser) {

View File

@ -16,14 +16,12 @@
package io.nosqlbench.engine.api.activityimpl.uniform.actions;
import com.codahale.metrics.Histogram;
import com.codahale.metrics.Timer;
import io.nosqlbench.adapters.api.activityimpl.OpDispenser;
import io.nosqlbench.adapters.api.activityimpl.uniform.flowtypes.*;
import io.nosqlbench.adapters.api.evalctx.CycleFunction;
import io.nosqlbench.engine.api.metrics.ExceptionHistoMetrics;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.nb.api.components.core.NBBaseComponent;
import io.nosqlbench.nb.api.components.core.NBComponent;
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
import io.nosqlbench.nb.api.engine.metrics.instruments.MetricCategory;
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricHistogram;
@ -33,12 +31,10 @@ import io.nosqlbench.engine.api.activityapi.core.SyncAction;
import io.nosqlbench.engine.api.activityapi.errorhandling.modular.ErrorDetail;
import io.nosqlbench.engine.api.activityapi.errorhandling.modular.NBErrorHandler;
import io.nosqlbench.engine.api.activityapi.planning.OpSequence;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.nb.api.labels.NBLabels;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
/**
@ -51,7 +47,7 @@ import java.util.concurrent.TimeUnit;
The type of activity
@param <R>
The type of operation */
public class StandardAction<A extends StandardActivity<R, ?>, R extends java.util.function.LongFunction> extends NBBaseComponent implements SyncAction, ActivityDefObserver {
public class StandardAction<A extends Activity<R, ?>, R extends java.util.function.LongFunction> extends NBBaseComponent implements SyncAction, ActivityDefObserver {
private final static Logger logger = LogManager.getLogger("ACTION");
private final NBErrorHandler errorHandler;
private final OpSequence<OpDispenser<? extends CycleOp<?>>> opsequence;

View File

@ -17,7 +17,7 @@
package io.nosqlbench.engine.api.util;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import java.util.*;
import java.util.regex.Pattern;
@ -34,7 +34,7 @@ public class ConfigTuples implements Iterable<ConfigTuples.Section> {
this.sections = sections;
}
public ConfigTuples(StandardActivity activity, String param) {
public ConfigTuples(Activity activity, String param) {
this(activity.getParams().getOptionalString(param).orElse(""));
}

View File

@ -17,7 +17,7 @@
package io.nosqlbench.engine.api.util;
import io.nosqlbench.engine.api.activityimpl.uniform.ActivityWiring;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
import io.nosqlbench.nb.api.engine.activityimpl.ParameterMap;
@ -35,7 +35,7 @@ public class SimpleConfig {
this.params = parseParams(configdata);
}
public SimpleConfig(StandardActivity activity, String params) {
public SimpleConfig(Activity activity, String params) {
this(activity.getActivityDef(),params);
}
public SimpleConfig(ActivityWiring wiring, String param) {

View File

@ -16,8 +16,7 @@
package io.nosqlbench.engine.core.lifecycle.activity;
import com.codahale.metrics.Gauge;
import io.nosqlbench.engine.api.activityimpl.uniform.ActivityWiring;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.engine.core.lifecycle.IndexedThreadFactory;
import io.nosqlbench.nb.api.engine.metrics.instruments.MetricCategory;
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricGauge;
@ -69,7 +68,7 @@ public class ActivityExecutor implements NBLabeledElement, ParameterMap.Listener
private static final Logger activitylogger = LogManager.getLogger("ACTIVITY");
private final LinkedList<Motor<?>> motors = new LinkedList<>();
private final StandardActivity activity;
private final Activity activity;
private final ActivityDef activityDef;
private final RunStateTally tally;
private final MotorDispenser motorSource;
@ -82,7 +81,7 @@ public class ActivityExecutor implements NBLabeledElement, ParameterMap.Listener
private ActivityExecutorShutdownHook shutdownHook = null;
private NBMetricGauge threadsGauge;
public ActivityExecutor(StandardActivity activity) {
public ActivityExecutor(Activity activity) {
this.activity = activity;
this.activityDef = activity.getActivityDef();
this.motorSource = activity.getWiring().getMotorDispenserDelegate();
@ -380,7 +379,7 @@ public class ActivityExecutor implements NBLabeledElement, ParameterMap.Listener
return motors.stream().anyMatch(m -> m.getState().get() == RunState.Running);
}
public StandardActivity getActivity() {
public Activity getActivity() {
return activity;
}

View File

@ -16,7 +16,7 @@
package io.nosqlbench.engine.core.lifecycle.activity;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
import io.nosqlbench.nb.api.components.core.NBComponent;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivityType;
@ -33,14 +33,14 @@ import java.util.concurrent.ConcurrentHashMap;
*/
public class ActivityLoader {
private static final Logger logger = LogManager.getLogger("ACTIVITIES");
private final Map<String, StandardActivity> activityMap = new ConcurrentHashMap<>();
private final Map<String, Activity> activityMap = new ConcurrentHashMap<>();
public ActivityLoader() {
}
public synchronized StandardActivity loadActivity(ActivityDef activityDef, final NBComponent parent) {
public synchronized Activity loadActivity(ActivityDef activityDef, final NBComponent parent) {
activityDef= activityDef.deprecate("yaml","workload").deprecate("type","driver");
final StandardActivity activity =
final Activity activity =
new StandardActivityType<>(activityDef, parent).getAssembledActivity(parent, activityDef, this.activityMap);this.activityMap.put(activity.getAlias(),activity);
ActivityLoader.logger.debug("Resolved activity for alias '{}'", activityDef.getAlias());
return activity;

View File

@ -19,7 +19,7 @@ package io.nosqlbench.engine.core.lifecycle.activity;
import io.nosqlbench.engine.api.activityapi.core.RunState;
import io.nosqlbench.engine.api.activityapi.core.progress.ProgressCapable;
import io.nosqlbench.engine.api.activityapi.core.progress.ProgressMeterDisplay;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.engine.core.lifecycle.ExecutionResult;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@ -32,12 +32,13 @@ import java.util.concurrent.TimeoutException;
public class ActivityRuntimeInfo implements ProgressCapable {
private final static Logger logger = LogManager.getLogger(ActivityRuntimeInfo.class);
private final StandardActivity activity;
private final Activity activity;
private final Future<ExecutionResult> future;
private final ActivityExecutor executor;
public ActivityRuntimeInfo(StandardActivity activity, Future<ExecutionResult> result,
ActivityExecutor executor) {
public ActivityRuntimeInfo(
Activity activity, Future<ExecutionResult> result,
ActivityExecutor executor) {
this.activity = activity;
this.future = result;
@ -73,7 +74,7 @@ public class ActivityRuntimeInfo implements ProgressCapable {
return result;
}
public StandardActivity getActivity() {
public Activity getActivity() {
return this.activity;
}

View File

@ -16,7 +16,7 @@
package io.nosqlbench.engine.core.lifecycle.commands;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
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.container.NBCommandParams;
@ -44,7 +44,7 @@ public class CMD_stop extends NBBaseCommand {
= params.maybeGet("activity").orElseThrow(
() -> new RuntimeException("The stop command requires an 'activity' parameter")
);
Optional<StandardActivity> activity = controller.getActivity(activityName);
Optional<Activity> activity = controller.getActivity(activityName);
if (activity.isEmpty()) {
BasicError error = new BasicError("Activity '" + activityName + "' was not found for stop command.");
logger.warn(error);

View File

@ -15,7 +15,7 @@
*/
package io.nosqlbench.engine.core.lifecycle.scenario.container;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
import io.nosqlbench.nb.api.engine.activityimpl.ParameterMap;
import io.nosqlbench.nb.api.components.core.NBComponent;
@ -65,7 +65,7 @@ public class ContainerActivitiesController extends NBBaseComponent {
*
* @param activityDef string in alias=value1;driver=value2;... format
*/
public StandardActivity start(ActivityDef activityDef) {
public Activity start(ActivityDef activityDef) {
ActivityRuntimeInfo ari = doStartActivity(activityDef);
return ari.getActivity();
}
@ -73,7 +73,7 @@ public class ContainerActivitiesController extends NBBaseComponent {
private ActivityRuntimeInfo doStartActivity(ActivityDef activityDef) {
if (!this.activityInfoMap.containsKey(activityDef.getAlias())) {
StandardActivity activity = this.activityLoader.loadActivity(activityDef, this);
Activity activity = this.activityLoader.loadActivity(activityDef, this);
activity.initActivity();
ActivityExecutor executor = new ActivityExecutor(activity);
Future<ExecutionResult> startedActivity = executorService.submit(executor);
@ -91,9 +91,9 @@ public class ContainerActivitiesController extends NBBaseComponent {
*
* @param activityDefMap A map containing the activity definition
*/
public StandardActivity start(Map<String, String> activityDefMap) {
public Activity start(Map<String, String> activityDefMap) {
ActivityDef ad = new ActivityDef(new ParameterMap(activityDefMap));
StandardActivity started = start(ad);
Activity started = start(ad);
awaitAllThreadsOnline(started,30000L);
return started;
}
@ -104,7 +104,7 @@ public class ContainerActivitiesController extends NBBaseComponent {
*
* @param alias the alias of an activity that is already known to the scenario
*/
public StandardActivity start(String alias) {
public Activity start(String alias) {
return start(ActivityDef.parseActivityDef(alias));
}
@ -186,12 +186,12 @@ public class ContainerActivitiesController extends NBBaseComponent {
return runtimeInfo.awaitAllThreadsOnline(timeoutMs);
}
public synchronized void stop(StandardActivity activity) {
public synchronized void stop(Activity activity) {
stop(activity.getActivityDef());
}
public boolean awaitAllThreadsOnline(StandardActivity activity, long timeoutMs) {
public boolean awaitAllThreadsOnline(Activity activity, long timeoutMs) {
return awaitAllThreadsOnline(activity.getActivityDef(), timeoutMs);
}
@ -442,13 +442,13 @@ public class ContainerActivitiesController extends NBBaseComponent {
// ActivityMetrics.reportTo(System.out);
}
public Optional<StandardActivity> getSoloActivity() {
public Optional<Activity> getSoloActivity() {
if (this.getActivityExecutorMap().size()==1) {
return Optional.of(activityInfoMap.values().iterator().next().getActivity());
}
return Optional.empty();
}
public Optional<StandardActivity> getActivity(String activityName) {
public Optional<Activity> getActivity(String activityName) {
return Optional.ofNullable(this.activityInfoMap.get(activityName)).map(ActivityRuntimeInfo::getActivity);
}

View File

@ -16,8 +16,8 @@
package io.nosqlbench.engine.core;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.engine.api.activityimpl.uniform.ActivityWiring;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivityType;
import io.nosqlbench.nb.api.config.standard.TestComponent;
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
@ -92,7 +92,7 @@ class ActivityExecutorTest {
ActivityDef activityDef = ActivityDef.parseActivityDef(
"driver=diag;alias=test-delayed-start;cycles=1000;initdelay=2000;");
new ActivityTypeLoader().load(activityDef, TestComponent.INSTANCE);
StandardActivity activity = new DelayedInitActivity(activityDef);
Activity activity = new DelayedInitActivity(activityDef);
fail("Expected an Advisor exception");
} catch (NBAdvisorException e) {
assertThat(e.toString().contains("error"));
@ -110,7 +110,7 @@ class ActivityExecutorTest {
// StandardActivity activity = new DelayedInitActivity(activityDef);
ActivityWiring wiring = new ActivityWiring(activityDef);
StandardActivity activity = standardActivityType.get().getActivity(
Activity activity = standardActivityType.get().getActivity(
activityDef, TestComponent.INSTANCE, wiring);
final InputDispenser inputDispenser = new CoreInputDispenser(activity);
final ActionDispenser actionDispenser = new CoreActionDispenser(wiring);
@ -151,7 +151,7 @@ class ActivityExecutorTest {
new ActivityTypeLoader().load(activityDef, TestComponent.INSTANCE);
ActivityWiring wiring = new ActivityWiring(activityDef);
StandardActivity activity = new StandardActivity(
Activity activity = new Activity(
TestComponent.INSTANCE, activityDef, wiring);
final InputDispenser inputDispenser = new CoreInputDispenser(activity);
@ -166,7 +166,7 @@ class ActivityExecutorTest {
wiring.setInputDispenserDelegate(inputDispenser);
wiring.setMotorDispenserDelegate(motorDispenser);
StandardActivity simpleActivity = new StandardActivity<>(
Activity simpleActivity = new Activity<>(
TestComponent.INSTANCE,
activityDef, wiring
);
@ -207,7 +207,7 @@ class ActivityExecutorTest {
return new MotorDispenser<>() {
@Override
public Motor getMotor(final ActivityDef activityDef, final int slotId) {
final StandardActivity activity = new StandardActivity(
final Activity activity = new Activity(
TestComponent.INSTANCE, activityDef, ActivityWiring.of(activityDef));
final Motor<?> cm = new CoreMotor<>(activity, slotId, ls, lc, null);
return cm;
@ -231,7 +231,7 @@ class ActivityExecutorTest {
}
private static class DelayedInitActivity extends StandardActivity {
private static class DelayedInitActivity extends Activity {
private static final Logger logger = LogManager.getLogger(DelayedInitActivity.class);
public DelayedInitActivity(final ActivityDef activityDef) {

View File

@ -16,8 +16,8 @@
package io.nosqlbench.engine.core;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.engine.api.activityimpl.uniform.ActivityWiring;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.nb.api.config.standard.TestComponent;
import io.nosqlbench.nb.api.engine.activityimpl.ActivityDef;
import io.nosqlbench.engine.api.activityapi.core.Motor;
@ -37,7 +37,7 @@ public class CoreMotorTest {
@Test
public void testBasicActivityMotor() {
ActivityDef activityDef = ActivityDef.parseActivityDef("alias=foo");
final StandardActivity activity = new StandardActivity<>(
final Activity activity = new Activity<>(
new TestComponent("testing", "coremotor"), activityDef, ActivityWiring.of(activityDef));
final BlockingSegmentInput lockstepper = new BlockingSegmentInput();
final AtomicLong observableAction = new AtomicLong(-3L);
@ -60,7 +60,7 @@ public class CoreMotorTest {
@Test
public void testIteratorStride() {
ActivityDef activityDef = ActivityDef.parseActivityDef("stride=3");
StandardActivity activity = new StandardActivity(
Activity activity = new Activity(
TestComponent.INSTANCE, activityDef, ActivityWiring.of(activityDef));
final BlockingSegmentInput lockstepper = new BlockingSegmentInput();
final AtomicLongArray ary = new AtomicLongArray(10);

View File

@ -16,7 +16,7 @@
package io.nosqlbench.nbr.examples.injava;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
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;
@ -107,7 +107,7 @@ public class NB_cocycledelay_bursty extends NBBaseCommand {
controller.waitMillis(500);
stdout.println("starting activity co_cycle_delay_bursty");
StandardActivity activity = controller.start(co_cycle_delay_bursty);
Activity activity = controller.start(co_cycle_delay_bursty);
controller.waitMillis(1000);
NBMetricTimer service_time_counter = container.find().topMetric("activity=co_cycle_delay_bursty,name=cycles_servicetime", NBMetricTimer.class);

View File

@ -16,7 +16,7 @@
package io.nosqlbench.nbr.examples.injava;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
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.container.NBCommandParams;
@ -57,7 +57,7 @@ public class NB_readmetrics extends NBBaseCommand {
*/
@Override
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
StandardActivity activity = controller.start(Map.of(
Activity activity = controller.start(Map.of(
"alias", "testactivity",
"driver", "diag",
"cycles", "0..1000000000",

View File

@ -16,7 +16,7 @@
package io.nosqlbench.nbr.examples.injava;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
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.container.ContainerActivitiesController;
@ -47,7 +47,7 @@ public class NB_threadchange extends NBBaseCommand {
@Override
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
StandardActivity activity = controller.start(
Activity activity = controller.start(
"driver=diag;alias=threadchange;cycles=0..60000;threads=1;interval=2000;op='noop';rate=1000");
activity.getActivityDef().setThreads(1);
stdout.println("threads now " + activity.getActivityDef().getThreads());

View File

@ -18,7 +18,7 @@ package io.nosqlbench.scenarios.simframe;
import io.nosqlbench.engine.api.activityapi.simrate.CycleRateSpec;
import io.nosqlbench.engine.api.activityapi.simrate.SimRateSpec;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
import io.nosqlbench.nb.api.components.events.ParamChange;
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricTimer;
@ -29,7 +29,7 @@ import java.util.concurrent.locks.LockSupport;
public class SimFrameUtils {
public static final String SIM_CYCLES = "sim_cycles";
public static void awaitActivity(StandardActivity flywheel) {
public static void awaitActivity(Activity flywheel) {
// await flywheel actually spinning, or timeout with error
NBMetricTimer result_success_timer = flywheel.find().timer("name:result_success");
for (int i = 0; i < 1000; i++) {
@ -44,12 +44,12 @@ public class SimFrameUtils {
}
}
public static StandardActivity findFlywheelActivity(ContainerActivitiesController controller, String providedActivityName) {
Optional<StandardActivity> optionalActivity = Optional.ofNullable(providedActivityName).flatMap(controller::getActivity);
public static Activity findFlywheelActivity(ContainerActivitiesController controller, String providedActivityName) {
Optional<Activity> optionalActivity = Optional.ofNullable(providedActivityName).flatMap(controller::getActivity);
if (providedActivityName!=null && optionalActivity.isEmpty()) {
throw new RuntimeException("you specified activity '" + providedActivityName + "' but it was not found.");
}
StandardActivity flywheel = optionalActivity.or(controller::getSoloActivity)
Activity flywheel = optionalActivity.or(controller::getSoloActivity)
.orElseThrow(() -> new RuntimeException("You didn't provide the name of an activity to attach to, nor was there a solo activity available in this context"));
// Start the flywheel at an "idle" speed, even if the user hasn't set it

View File

@ -16,13 +16,13 @@
package io.nosqlbench.scenarios.simframe.capture;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
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.NBMetricTimer;
public class SimFrameValueData extends SimFrameCapture {
public SimFrameValueData(StandardActivity activity) {
public SimFrameValueData(Activity activity) {
NBMetricTimer result_timer = activity.find().timer("name:result");
NBMetricTimer result_success_timer = activity.find().timer("name:result_success");
NBMetricGauge cyclerate_gauge = activity.find().gauge("name=config_cyclerate");

View File

@ -16,7 +16,7 @@
package io.nosqlbench.scenarios.simframe.optimizers;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
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.container.ContainerActivitiesController;
@ -63,7 +63,7 @@ public class CMD_optimize extends NBBaseCommand {
@Override
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
StandardActivity flywheel = SimFrameUtils.findFlywheelActivity(controller, params.get("activity"));
Activity flywheel = SimFrameUtils.findFlywheelActivity(controller, params.get("activity"));
stdout.println("starting analysis on activity '" + flywheel.getAlias() + "'");
SimFrameUtils.awaitActivity(flywheel);
SimFrameCapture capture = new SimFrameValueData(flywheel);

View File

@ -19,7 +19,7 @@ package io.nosqlbench.scenarios.simframe.optimizers;
import io.nosqlbench.engine.api.activityapi.simrate.CycleRateSpec;
import io.nosqlbench.engine.api.activityapi.simrate.SimRateSpec;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
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.container.NBCommandParams;
@ -60,12 +60,12 @@ public class CMD_reset extends NBBaseCommand {
*/
@Override
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
Optional<StandardActivity> optionalActivity =
Optional<Activity> optionalActivity =
Optional.ofNullable(params.get("activity")).flatMap(controller::getActivity);
if (params.get("activity")!=null && optionalActivity.isEmpty()) {
throw new RuntimeException("you specified activity '" + params.get("activity") + "' but it was not found.");
}
try (StandardActivity flywheel = optionalActivity.or(controller::getSoloActivity)
try (Activity flywheel = optionalActivity.or(controller::getSoloActivity)
.orElseThrow(() -> new RuntimeException("You didn't provide the name of an activity to attach to, nor was there a solo activity available in this context"))) {
params.forEach((key, value) -> {

View File

@ -18,7 +18,7 @@ package io.nosqlbench.scenarios.simframe.optimizers.findmax;
import io.nosqlbench.engine.api.activityapi.simrate.CycleRateSpec;
import io.nosqlbench.engine.api.activityapi.simrate.SimRateSpec;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
import io.nosqlbench.engine.core.lifecycle.scenario.container.InvokableResult;
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
@ -48,7 +48,7 @@ public class CMD_findmax extends NBBaseCommand {
@Override
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) {
StandardActivity flywheel = SimFrameUtils.findFlywheelActivity(controller, params.get("activity"));
Activity flywheel = SimFrameUtils.findFlywheelActivity(controller, params.get("activity"));
stdout.println("starting analysis on activity '" + flywheel.getAlias() + "'");
SimFrameUtils.awaitActivity(flywheel);

View File

@ -17,7 +17,7 @@
package io.nosqlbench.scenarios.simframe.optimizers.findmax;
import io.nosqlbench.engine.api.activityapi.core.RunState;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
import io.nosqlbench.scenarios.simframe.capture.SimFrameCapture;
import io.nosqlbench.scenarios.simframe.capture.SimFrameJournal;
@ -25,7 +25,7 @@ import io.nosqlbench.scenarios.simframe.planning.SimFrameFunction;
public class FindmaxFrameFunction implements SimFrameFunction<FindmaxFrameParams> {
private final StandardActivity flywheel;
private final Activity flywheel;
private final SimFrameCapture capture;
private final SimFrameJournal<FindmaxFrameParams> journal;
private final FindmaxConfig settings;
@ -35,7 +35,7 @@ public class FindmaxFrameFunction implements SimFrameFunction<FindmaxFrameParams
public FindmaxFrameFunction(
ContainerActivitiesController controller,
FindmaxConfig settings,
StandardActivity flywheel,
Activity flywheel,
SimFrameCapture capture,
SimFrameJournal<FindmaxFrameParams> journal,
FindmaxParamModel model

View File

@ -16,7 +16,7 @@
package io.nosqlbench.scenarios.simframe.optimizers.optimo;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer;
import io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand;
import io.nosqlbench.nb.api.engine.metrics.instruments.NBMetricGauge;
@ -74,7 +74,7 @@ public class CMD_optimo extends NBBaseCommand {
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.
StandardActivity flywheel = SimFrameUtils.findFlywheelActivity(controller, params.get("activity"));
Activity flywheel = SimFrameUtils.findFlywheelActivity(controller, params.get("activity"));
stdout.println("starting analysis on activity '" + flywheel.getAlias() + "'");
SimFrameUtils.awaitActivity(flywheel);
@ -125,7 +125,7 @@ public class CMD_optimo extends NBBaseCommand {
// could be a better result if the range is arbitrarily limiting the parameter space.
}
private SimFrameCapture perfValueMeasures(StandardActivity activity, OptimoSearchSettings settings) {
private SimFrameCapture perfValueMeasures(Activity activity, OptimoSearchSettings settings) {
SimFrameCapture sampler = new SimFrameCapture();
NBMetricTimer result_timer = activity.find().timer("name:result");

View File

@ -17,7 +17,7 @@
package io.nosqlbench.scenarios.simframe.optimizers.optimo;
import io.nosqlbench.engine.api.activityapi.core.RunState;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
import io.nosqlbench.scenarios.simframe.capture.SimFrameCapture;
import io.nosqlbench.scenarios.simframe.capture.SimFrameJournal;
@ -25,7 +25,7 @@ import io.nosqlbench.scenarios.simframe.planning.SimFrameFunction;
public class OptimoFrameFunction implements SimFrameFunction<OptimoFrameParams> {
private final StandardActivity flywheel;
private final Activity flywheel;
private final SimFrameCapture capture;
private final SimFrameJournal<OptimoFrameParams> journal;
private final OptimoSearchSettings settings;
@ -34,7 +34,7 @@ public class OptimoFrameFunction implements SimFrameFunction<OptimoFrameParams>
public OptimoFrameFunction(
ContainerActivitiesController controller,
OptimoSearchSettings settings,
StandardActivity flywheel,
Activity flywheel,
SimFrameCapture capture,
SimFrameJournal<OptimoFrameParams> journal
) {

View File

@ -18,7 +18,7 @@ package io.nosqlbench.scenarios.simframe.optimizers.planners.findmax;
import io.nosqlbench.engine.api.activityapi.simrate.CycleRateSpec;
import io.nosqlbench.engine.api.activityapi.simrate.SimRateSpec;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
import io.nosqlbench.nb.api.components.core.NBBaseComponent;
import io.nosqlbench.nb.api.components.events.ParamChange;
@ -102,7 +102,7 @@ public class FindmaxPlanner extends SimFramePlanner<FindmaxConfig, FindmaxFrameP
}
@Override
public void applyParams(FindmaxFrameParams params, StandardActivity flywheel) {
public void applyParams(FindmaxFrameParams params, Activity flywheel) {
flywheel.onEvent(ParamChange.of(new CycleRateSpec(params.rate_shelf()+params.rate_delta(), 1.1d, SimRateSpec.Verb.restart)));
}

View File

@ -18,7 +18,7 @@ package io.nosqlbench.scenarios.simframe.optimizers.planners.ratchet;
import io.nosqlbench.engine.api.activityapi.simrate.CycleRateSpec;
import io.nosqlbench.engine.api.activityapi.simrate.SimRateSpec;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
import io.nosqlbench.nb.api.components.core.NBBaseComponent;
import io.nosqlbench.nb.api.components.events.ParamChange;
@ -79,7 +79,7 @@ public class RatchetPlanner extends SimFramePlanner<RatchetConfig, RatchetFrameP
@Override
public void applyParams(RatchetFrameParams params, StandardActivity flywheel) {
public void applyParams(RatchetFrameParams params, Activity flywheel) {
flywheel.onEvent(ParamChange.of(new CycleRateSpec(params.rate(), 1.1d, SimRateSpec.Verb.restart)));
}

View File

@ -18,7 +18,7 @@ package io.nosqlbench.scenarios.simframe.optimizers.planners.rcurve;
import io.nosqlbench.engine.api.activityapi.simrate.CycleRateSpec;
import io.nosqlbench.engine.api.activityapi.simrate.SimRateSpec;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
import io.nosqlbench.nb.api.components.core.NBBaseComponent;
import io.nosqlbench.nb.api.components.events.ParamChange;
@ -92,7 +92,7 @@ public class RCurvePlanner extends SimFramePlanner<RCurveConfig, RCurveFramePara
}
@Override
public void applyParams(RCurveFrameParams params, StandardActivity flywheel) {
public void applyParams(RCurveFrameParams params, Activity flywheel) {
flywheel.onEvent(ParamChange.of(new CycleRateSpec(params.rate(), 1.1d, SimRateSpec.Verb.restart)));
}

View File

@ -16,7 +16,7 @@
package io.nosqlbench.scenarios.simframe.planning;
import io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity;
import io.nosqlbench.engine.api.activityimpl.uniform.Activity;
import io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController;
import io.nosqlbench.engine.core.lifecycle.scenario.container.NBCommandParams;
import io.nosqlbench.nb.api.components.core.NBBaseComponent;
@ -64,8 +64,8 @@ public abstract class SimFramePlanner<C,P extends Record> extends NBBaseComponen
*/
public abstract P nextStep(JournalView<P> journal);
public abstract void applyParams(P params, StandardActivity activity);
public P analyze(StandardActivity flywheel, SimFrameCapture capture, PrintWriter stdout, PrintWriter stderr, ContainerActivitiesController controller) {
public abstract void applyParams(P params, Activity activity);
public P analyze(Activity flywheel, SimFrameCapture capture, PrintWriter stdout, PrintWriter stderr, ContainerActivitiesController controller) {
var frameParams = initialStep();
while (frameParams != null) {