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 SummaryConstructors
- 
Method SummaryModifier 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- 
ExecAndProcessLatencyEnginepublic ExecAndProcessLatencyEngine()
- 
ExecAndProcessLatencyEngine
 
- 
- 
Method Details- 
toNanopublic static long toNano(double ms) 
- 
preparepublic void prepare()
- 
sleepNanopublic void sleepNano(long start, long sleepAmount) Sleep for a set number of nano seconds.- Parameters:
- start- the start time of the sleep
- sleepAmount- how many nano seconds after start when we should stop.
 
- 
sleepNanopublic void sleepNano(long nano) 
- 
sleepUntilNanopublic void sleepUntilNano(long endTime) 
- 
simulateProcessAndExecTimepublic 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.
 
 
-