mirror of
https://github.com/nosqlbench/nosqlbench.git
synced 2025-02-25 18:55:28 -06:00
document op dispenser as OpDispenser type
This commit is contained in:
parent
a27ea6cdb2
commit
50c0363250
@ -1,6 +1,7 @@
|
||||
package io.nosqlbench.activitytype.cmds;
|
||||
|
||||
import io.nosqlbench.engine.api.activityconfig.yaml.OpTemplate;
|
||||
import io.nosqlbench.engine.api.activityimpl.OpDispenser;
|
||||
import io.nosqlbench.engine.api.templating.CommandTemplate;
|
||||
import io.nosqlbench.nb.api.errors.BasicError;
|
||||
|
||||
@ -13,10 +14,9 @@ import java.time.temporal.ChronoUnit;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.function.LongFunction;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class ReadyHttpOp implements LongFunction<HttpOp> {
|
||||
public class ReadyHttpOp implements OpDispenser<HttpOp> {
|
||||
|
||||
private final CommandTemplate propertyTemplate;
|
||||
public static final String DEFAULT_OK_BODY = ".+?";
|
||||
|
@ -6,6 +6,7 @@ import io.nosqlbench.engine.api.activityapi.core.SyncAction;
|
||||
import io.nosqlbench.engine.api.activityapi.errorhandling.modular.ErrorDetail;
|
||||
import io.nosqlbench.engine.api.activityapi.planning.OpSequence;
|
||||
import io.nosqlbench.engine.api.activityimpl.ActivityDef;
|
||||
import io.nosqlbench.engine.api.activityimpl.OpDispenser;
|
||||
import io.nosqlbench.nb.api.errors.BasicError;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
@ -29,7 +30,7 @@ public class HttpAction implements SyncAction {
|
||||
private final int slot;
|
||||
private int maxTries = 1;
|
||||
|
||||
private OpSequence<LongFunction<HttpOp>> sequencer;
|
||||
private OpSequence<OpDispenser<HttpOp>> sequencer;
|
||||
private HttpClient client;
|
||||
|
||||
private final HttpResponse.BodyHandler<String> bodyreader = HttpResponse.BodyHandlers.ofString();
|
||||
|
@ -10,6 +10,7 @@ import io.nosqlbench.engine.api.activityapi.core.ActivityDefObserver;
|
||||
import io.nosqlbench.engine.api.activityapi.errorhandling.modular.NBErrorHandler;
|
||||
import io.nosqlbench.engine.api.activityapi.planning.OpSequence;
|
||||
import io.nosqlbench.engine.api.activityimpl.ActivityDef;
|
||||
import io.nosqlbench.engine.api.activityimpl.OpDispenser;
|
||||
import io.nosqlbench.engine.api.activityimpl.SimpleActivity;
|
||||
import io.nosqlbench.engine.api.metrics.ActivityMetrics;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
@ -17,7 +18,6 @@ import org.apache.logging.log4j.Logger;
|
||||
|
||||
import java.net.http.HttpClient;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.LongFunction;
|
||||
|
||||
public class HttpActivity extends SimpleActivity implements Activity, ActivityDefObserver {
|
||||
private final static Logger logger = LogManager.getLogger(HttpActivity.class);
|
||||
@ -37,7 +37,7 @@ public class HttpActivity extends SimpleActivity implements Activity, ActivityDe
|
||||
public Timer resultSuccessTimer;
|
||||
public Histogram statusCodeHisto;
|
||||
|
||||
private OpSequence<LongFunction<HttpOp>> sequencer;
|
||||
private OpSequence<OpDispenser<HttpOp>> sequencer;
|
||||
private boolean diagnosticsEnabled;
|
||||
private long timeout = Long.MAX_VALUE;
|
||||
private NBErrorHandler errorhandler;
|
||||
@ -129,7 +129,7 @@ public class HttpActivity extends SimpleActivity implements Activity, ActivityDe
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
public OpSequence<LongFunction<HttpOp>> getSequencer() {
|
||||
public OpSequence<OpDispenser<HttpOp>> getSequencer() {
|
||||
return sequencer;
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,7 @@ import io.nosqlbench.activitytype.http.HttpActivity;
|
||||
import io.nosqlbench.engine.api.activityapi.core.BaseAsyncAction;
|
||||
import io.nosqlbench.engine.api.activityapi.core.ops.fluent.opfacets.TrackedOp;
|
||||
import io.nosqlbench.engine.api.activityapi.planning.OpSequence;
|
||||
import io.nosqlbench.engine.api.activityimpl.OpDispenser;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
@ -18,7 +19,7 @@ public class HttpAsyncAction extends BaseAsyncAction<HttpAsyncOp, HttpActivity>
|
||||
|
||||
private final static Logger logger = LogManager.getLogger(HttpAsyncAction.class);
|
||||
|
||||
private OpSequence<LongFunction<HttpOp>> sequencer;
|
||||
private OpSequence<OpDispenser<HttpOp>> sequencer;
|
||||
private HttpClient client;
|
||||
|
||||
private CompletableFuture<HttpResponse<Void>> future;
|
||||
|
@ -8,6 +8,7 @@ import com.zaxxer.hikari.HikariDataSource;
|
||||
import io.nosqlbench.activitytype.jdbc.impl.ReadyJDBCOp;
|
||||
import io.nosqlbench.engine.api.activityapi.planning.OpSequence;
|
||||
import io.nosqlbench.engine.api.activityimpl.ActivityDef;
|
||||
import io.nosqlbench.engine.api.activityimpl.OpDispenser;
|
||||
import io.nosqlbench.engine.api.activityimpl.SimpleActivity;
|
||||
import io.nosqlbench.engine.api.metrics.ActivityMetrics;
|
||||
import io.nosqlbench.engine.api.metrics.ExceptionCountMetrics;
|
||||
@ -17,7 +18,6 @@ import org.apache.logging.log4j.Logger;
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.SQLException;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.function.LongFunction;
|
||||
|
||||
// This should not be exposed as as service directly unless it can
|
||||
// be used with a modular JDBC configuration.
|
||||
@ -31,7 +31,7 @@ public abstract class JDBCActivity extends SimpleActivity {
|
||||
private SQLExceptionCountMetrics sqlExceptionCount;
|
||||
|
||||
protected DataSource dataSource;
|
||||
protected OpSequence<LongFunction<String>> opSequence;
|
||||
protected OpSequence<OpDispenser<String>> opSequence;
|
||||
|
||||
public JDBCActivity(ActivityDef activityDef) {
|
||||
super(activityDef);
|
||||
@ -91,7 +91,7 @@ public abstract class JDBCActivity extends SimpleActivity {
|
||||
return dataSource;
|
||||
}
|
||||
|
||||
public OpSequence<LongFunction<String>> getOpSequence() {
|
||||
public OpSequence<OpDispenser<String>> getOpSequence() {
|
||||
return opSequence;
|
||||
}
|
||||
|
||||
|
@ -4,6 +4,7 @@ import com.codahale.metrics.Timer;
|
||||
import io.nosqlbench.activitytype.jdbc.api.JDBCActivity;
|
||||
import io.nosqlbench.engine.api.activityapi.core.SyncAction;
|
||||
import io.nosqlbench.engine.api.activityapi.planning.OpSequence;
|
||||
import io.nosqlbench.engine.api.activityimpl.OpDispenser;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
@ -17,7 +18,7 @@ public class JDBCAction implements SyncAction {
|
||||
private static final Logger LOGGER = LogManager.getLogger(JDBCAction.class);
|
||||
|
||||
private final JDBCActivity activity;
|
||||
private OpSequence<LongFunction<String>> sequencer;
|
||||
private OpSequence<OpDispenser<String>> sequencer;
|
||||
|
||||
public JDBCAction(JDBCActivity a, int slot) {
|
||||
activity = a;
|
||||
|
@ -1,14 +1,13 @@
|
||||
package io.nosqlbench.activitytype.jdbc.impl;
|
||||
|
||||
import io.nosqlbench.engine.api.activityconfig.yaml.OpTemplate;
|
||||
import io.nosqlbench.engine.api.activityimpl.OpDispenser;
|
||||
import io.nosqlbench.virtdata.core.bindings.BindingsTemplate;
|
||||
import io.nosqlbench.virtdata.core.templates.ParsedTemplate;
|
||||
import io.nosqlbench.virtdata.core.templates.StringBindings;
|
||||
import io.nosqlbench.virtdata.core.templates.StringBindingsTemplate;
|
||||
|
||||
import java.util.function.LongFunction;
|
||||
|
||||
public class ReadyJDBCOp implements LongFunction<String> {
|
||||
public class ReadyJDBCOp implements OpDispenser<String> {
|
||||
private final StringBindings bindings;
|
||||
|
||||
public ReadyJDBCOp(OpTemplate stmtDef) {
|
||||
|
@ -4,6 +4,7 @@ import io.nosqlbench.driver.jmx.ops.JmxOp;
|
||||
import io.nosqlbench.engine.api.activityapi.core.SyncAction;
|
||||
import io.nosqlbench.engine.api.activityapi.planning.OpSequence;
|
||||
import io.nosqlbench.engine.api.activityimpl.ActivityDef;
|
||||
import io.nosqlbench.engine.api.activityimpl.OpDispenser;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
@ -16,7 +17,7 @@ public class JMXAction implements SyncAction {
|
||||
private final ActivityDef activityDef;
|
||||
private final int slot;
|
||||
private final JMXActivity activity;
|
||||
private OpSequence<LongFunction<JmxOp>> sequencer;
|
||||
private OpSequence<OpDispenser<JmxOp>> sequencer;
|
||||
|
||||
public JMXAction(ActivityDef activityDef, int slot, JMXActivity activity) {
|
||||
this.activityDef = activityDef;
|
||||
|
@ -4,15 +4,15 @@ import io.nosqlbench.driver.jmx.ops.JmxOp;
|
||||
import io.nosqlbench.engine.api.activityapi.core.Activity;
|
||||
import io.nosqlbench.engine.api.activityapi.planning.OpSequence;
|
||||
import io.nosqlbench.engine.api.activityimpl.ActivityDef;
|
||||
import io.nosqlbench.engine.api.activityimpl.OpDispenser;
|
||||
import io.nosqlbench.engine.api.activityimpl.SimpleActivity;
|
||||
import io.nosqlbench.engine.api.util.SSLKsFactory;
|
||||
|
||||
import javax.net.ssl.SSLContext;
|
||||
import java.util.function.LongFunction;
|
||||
|
||||
public class JMXActivity extends SimpleActivity implements Activity {
|
||||
|
||||
private OpSequence<LongFunction<JmxOp>> sequence;
|
||||
private OpSequence<OpDispenser<JmxOp>> sequence;
|
||||
private SSLContext sslContext;
|
||||
|
||||
public JMXActivity(ActivityDef activityDef) {
|
||||
@ -37,7 +37,7 @@ public class JMXActivity extends SimpleActivity implements Activity {
|
||||
return sslContext;
|
||||
}
|
||||
|
||||
public OpSequence<LongFunction<JmxOp>> getSequencer() {
|
||||
public OpSequence<OpDispenser<JmxOp>> getSequencer() {
|
||||
return sequence;
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import io.nosqlbench.driver.jmx.ops.JMXExplainOperation;
|
||||
import io.nosqlbench.driver.jmx.ops.JMXPrintOperation;
|
||||
import io.nosqlbench.driver.jmx.ops.JMXReadOperation;
|
||||
import io.nosqlbench.driver.jmx.ops.JmxOp;
|
||||
import io.nosqlbench.engine.api.activityimpl.OpDispenser;
|
||||
import io.nosqlbench.engine.api.templating.CommandTemplate;
|
||||
|
||||
import javax.management.MalformedObjectNameException;
|
||||
@ -16,9 +17,8 @@ import java.net.MalformedURLException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.function.LongFunction;
|
||||
|
||||
public class ReadyJmxOp implements LongFunction<JmxOp> {
|
||||
public class ReadyJmxOp implements OpDispenser<JmxOp> {
|
||||
|
||||
private final CommandTemplate command;
|
||||
|
||||
|
@ -8,12 +8,12 @@ import io.nosqlbench.engine.api.activityapi.core.ActivityDefObserver;
|
||||
import io.nosqlbench.engine.api.activityapi.errorhandling.modular.NBErrorHandler;
|
||||
import io.nosqlbench.engine.api.activityapi.planning.OpSequence;
|
||||
import io.nosqlbench.engine.api.activityimpl.ActivityDef;
|
||||
import io.nosqlbench.engine.api.activityimpl.OpDispenser;
|
||||
import io.nosqlbench.engine.api.activityimpl.SimpleActivity;
|
||||
import io.nosqlbench.engine.api.metrics.ActivityMetrics;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import java.util.function.LongFunction;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class PulsarActivity extends SimpleActivity implements ActivityDefObserver {
|
||||
@ -28,7 +28,7 @@ public class PulsarActivity extends SimpleActivity implements ActivityDefObserve
|
||||
|
||||
private PulsarNBClientConf clientConf;
|
||||
|
||||
private OpSequence<LongFunction<PulsarOp>> sequencer;
|
||||
private OpSequence<OpDispenser<PulsarOp>> sequencer;
|
||||
// private PulsarClient activityClient;
|
||||
|
||||
private Supplier<PulsarSpace> clientSupplier;
|
||||
@ -65,7 +65,7 @@ public class PulsarActivity extends SimpleActivity implements ActivityDefObserve
|
||||
super.onActivityDefUpdate(activityDef);
|
||||
}
|
||||
|
||||
public OpSequence<LongFunction<PulsarOp>> getSequencer() {
|
||||
public OpSequence<OpDispenser<PulsarOp>> getSequencer() {
|
||||
return sequencer;
|
||||
}
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
package io.nosqlbench.driver.pulsar.ops;
|
||||
|
||||
import io.nosqlbench.driver.pulsar.util.PulsarActivityUtil;
|
||||
import io.nosqlbench.driver.pulsar.PulsarSpace;
|
||||
import io.nosqlbench.driver.pulsar.PulsarSpaceCache;
|
||||
import io.nosqlbench.driver.pulsar.util.PulsarNBClientConf;
|
||||
import io.nosqlbench.driver.pulsar.util.PulsarActivityUtil;
|
||||
import io.nosqlbench.engine.api.activityconfig.yaml.OpTemplate;
|
||||
import io.nosqlbench.engine.api.activityimpl.OpDispenser;
|
||||
import io.nosqlbench.engine.api.scoping.ScopedSupplier;
|
||||
import io.nosqlbench.engine.api.templating.CommandTemplate;
|
||||
import org.apache.pulsar.client.api.Producer;
|
||||
@ -13,7 +13,7 @@ import org.apache.pulsar.client.api.Schema;
|
||||
import java.util.function.LongFunction;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class ReadyPulsarOp implements LongFunction<PulsarOp> {
|
||||
public class ReadyPulsarOp implements OpDispenser<PulsarOp> {
|
||||
|
||||
private final CommandTemplate cmdTpl;
|
||||
private final PulsarSpace clientSpace;
|
||||
|
@ -0,0 +1,6 @@
|
||||
package io.nosqlbench.engine.api.activityimpl;
|
||||
|
||||
import java.util.function.LongFunction;
|
||||
|
||||
public interface OpDispenser<T> extends LongFunction<T> {
|
||||
}
|
@ -409,9 +409,9 @@ public class SimpleActivity implements Activity, ProgressCapable {
|
||||
* @param <O>
|
||||
* @return
|
||||
*/
|
||||
protected <O> OpSequence<LongFunction<O>> createOpSequenceFromCommands(Function<CommandTemplate, LongFunction<O>> opinit) {
|
||||
protected <O> OpSequence<OpDispenser<O>> createOpSequenceFromCommands(Function<CommandTemplate, OpDispenser<O>> opinit) {
|
||||
Function<OpTemplate, CommandTemplate> f = CommandTemplate::new;
|
||||
Function<OpTemplate, LongFunction<O>> opTemplateOFunction = f.andThen(opinit);
|
||||
Function<OpTemplate, OpDispenser<O>> opTemplateOFunction = f.andThen(opinit);
|
||||
|
||||
return createOpSequence(opTemplateOFunction);
|
||||
}
|
||||
@ -438,14 +438,14 @@ public class SimpleActivity implements Activity, ProgressCapable {
|
||||
* @param <O> A holder for an executable operation for the native driver used by this activity.
|
||||
* @return The sequence of operations as determined by filtering and ratios
|
||||
*/
|
||||
protected <O> OpSequence<LongFunction<O>> createOpSequence(Function<OpTemplate, LongFunction<O>> opinit) {
|
||||
protected <O> OpSequence<OpDispenser<O>> createOpSequence(Function<OpTemplate, OpDispenser<O>> opinit) {
|
||||
String tagfilter = activityDef.getParams().getOptionalString("tags").orElse("");
|
||||
StrInterpolator interp = new StrInterpolator(activityDef);
|
||||
SequencerType sequencerType = getParams()
|
||||
.getOptionalString("seq")
|
||||
.map(SequencerType::valueOf)
|
||||
.orElse(SequencerType.bucket);
|
||||
SequencePlanner<LongFunction<O>> planner = new SequencePlanner<>(sequencerType);
|
||||
SequencePlanner<OpDispenser<O>> planner = new SequencePlanner<>(sequencerType);
|
||||
|
||||
StmtsDocList stmtsDocList = null;
|
||||
|
||||
@ -471,7 +471,7 @@ public class SimpleActivity implements Activity, ProgressCapable {
|
||||
for (int i = 0; i < stmts.size(); i++) {
|
||||
long ratio = ratios.get(i);
|
||||
OpTemplate optemplate = stmts.get(i);
|
||||
LongFunction<O> driverSpecificReadyOp = opinit.apply(optemplate);
|
||||
OpDispenser<O> driverSpecificReadyOp = opinit.apply(optemplate);
|
||||
planner.addOp(driverSpecificReadyOp, ratio);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user