@Requires(classes=com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy.class) @Requires(beans=io.opentracing.Tracer.class) @Requires(missingBeans=io.opentracing.noop.NoopTracer.class) @Singleton public class TracingHystrixConcurrentStrategy extends com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy
HystrixConcurrencyStrategy
with one that is enhanced for Tracing.Constructor and Description |
---|
TracingHystrixConcurrentStrategy(io.opentracing.Tracer tracer,
com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy hystrixConcurrencyStrategy)
Creates enhanced
HystrixConcurrencyStrategy for tracing. |
Modifier and Type | Method and Description |
---|---|
BlockingQueue<Runnable> |
getBlockingQueue(int maxQueueSize) |
<T> com.netflix.hystrix.strategy.concurrency.HystrixRequestVariable<T> |
getRequestVariable(com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableLifecycle<T> rv) |
ThreadPoolExecutor |
getThreadPool(com.netflix.hystrix.HystrixThreadPoolKey threadPoolKey,
com.netflix.hystrix.strategy.properties.HystrixProperty<Integer> corePoolSize,
com.netflix.hystrix.strategy.properties.HystrixProperty<Integer> maximumPoolSize,
com.netflix.hystrix.strategy.properties.HystrixProperty<Integer> keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue) |
ThreadPoolExecutor |
getThreadPool(com.netflix.hystrix.HystrixThreadPoolKey threadPoolKey,
com.netflix.hystrix.HystrixThreadPoolProperties threadPoolProperties) |
<T> Callable<T> |
wrapCallable(Callable<T> callable) |
@Inject public TracingHystrixConcurrentStrategy(io.opentracing.Tracer tracer, @Nullable com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy hystrixConcurrencyStrategy)
HystrixConcurrencyStrategy
for tracing.tracer
- For span creation and propagation across arbitrary transportshystrixConcurrencyStrategy
- Different behavior or implementations for concurrency related aspects of the system with default implementationspublic ThreadPoolExecutor getThreadPool(com.netflix.hystrix.HystrixThreadPoolKey threadPoolKey, com.netflix.hystrix.strategy.properties.HystrixProperty<Integer> corePoolSize, com.netflix.hystrix.strategy.properties.HystrixProperty<Integer> maximumPoolSize, com.netflix.hystrix.strategy.properties.HystrixProperty<Integer> keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue)
getThreadPool
in class com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy
public ThreadPoolExecutor getThreadPool(com.netflix.hystrix.HystrixThreadPoolKey threadPoolKey, com.netflix.hystrix.HystrixThreadPoolProperties threadPoolProperties)
getThreadPool
in class com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy
public BlockingQueue<Runnable> getBlockingQueue(int maxQueueSize)
getBlockingQueue
in class com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy
public <T> Callable<T> wrapCallable(Callable<T> callable)
wrapCallable
in class com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy
public <T> com.netflix.hystrix.strategy.concurrency.HystrixRequestVariable<T> getRequestVariable(com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableLifecycle<T> rv)
getRequestVariable
in class com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy