public class ExecAndProcessLatencyEngine extends Object implements Serializable
Constructor and Description |
---|
ExecAndProcessLatencyEngine() |
ExecAndProcessLatencyEngine(SlowExecutorPattern skewedPattern) |
Modifier and Type | Method and Description |
---|---|
void |
prepare() |
void |
simulateProcessAndExecTime(int executorIndex,
long startTimeNs,
InputStream in,
Runnable r)
Simulate both process and exec times.
|
void |
sleepNano(long nano) |
void |
sleepNano(long start,
long sleepAmount)
Sleep for a set number of nano seconds.
|
void |
sleepUntilNano(long endTime) |
static long |
toNano(double ms) |
public ExecAndProcessLatencyEngine()
public ExecAndProcessLatencyEngine(SlowExecutorPattern skewedPattern)
public static long toNano(double ms)
public void prepare()
public void sleepNano(long start, long sleepAmount)
start
- the start time of the sleepsleepAmount
- how many nano seconds after start when we should stop.public void sleepNano(long nano)
public void sleepUntilNano(long endTime)
public void simulateProcessAndExecTime(int executorIndex, long startTimeNs, InputStream in, Runnable r)
executorIndex
- the index of this executor. It is used to skew the latencies.startTimeNs
- when the executor started in nano-seconds.in
- the metrics for the input stream (or null if you don't want to use them).r
- what to run when the process latency is up. Note that this may run on a separate thread after this method call has
completed.Copyright © 2023 The Apache Software Foundation. All rights reserved.