Package org.apache.storm.loadgen
Class ExecAndProcessLatencyEngine
java.lang.Object
org.apache.storm.loadgen.ExecAndProcessLatencyEngine
- All Implemented Interfaces:
 Serializable
A more accurate sleep implementation.
- See Also:
 
- 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionvoidprepare()voidsimulateProcessAndExecTime(int executorIndex, long startTimeNs, InputStream in, Runnable r) Simulate both process and exec times.voidsleepNano(long nano) voidsleepNano(long start, long sleepAmount) Sleep for a set number of nano seconds.voidsleepUntilNano(long endTime) static longtoNano(double ms)  
- 
Constructor Details
- 
ExecAndProcessLatencyEngine
public ExecAndProcessLatencyEngine() - 
ExecAndProcessLatencyEngine
 
 - 
 - 
Method Details
- 
toNano
public static long toNano(double ms)  - 
prepare
public void prepare() - 
sleepNano
public void sleepNano(long start, long sleepAmount) Sleep for a set number of nano seconds.- Parameters:
 start- the start time of the sleepsleepAmount- how many nano seconds after start when we should stop.
 - 
sleepNano
public void sleepNano(long nano)  - 
sleepUntilNano
public void sleepUntilNano(long endTime)  - 
simulateProcessAndExecTime
public void simulateProcessAndExecTime(int executorIndex, long startTimeNs, InputStream in, Runnable r) Simulate both process and exec times.- Parameters:
 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.
 
 -