如何找到hystrix线程池中活动线程的数量?

时间:2019-08-10 18:34:00

标签: threadpool java-threads hystrix

我正在尝试微调hystrix线程池核心大小和最大大小。为此,我需要随时知道并绘制池中活动线程的数量。有办法吗?

这是正确的方法吗?

HystrixThreadPoolKey hystrixThreadPoolKey = new HystrixThreadPoolKey() {
            @Override
            public String name() {
                return threadPoolKey;
            }
        };
HystrixThreadPoolMetrics hystrixThreadPoolMetrics = HystrixThreadPoolMetrics.getInstance(hystrixThreadPoolKey);
log.info("Hystrix active threads: {}", hystrixThreadPoolMetrics.getCurrentActiveCount().toString());

我不确定,因为当我使用它时,当corePoolSize设置为10时,活动线程计数为0。

1 个答案:

答案 0 :(得分:0)

此代码可以正常工作(在对null进行检查直到没有请求之前)。但是正确的方法应该是使用Netflix的伺服器。

Netflix Announcement

How to Use

引用公告的一部分:

Servo旨在使开发人员能够轻松地从其应用程序代码中导出指标,将其注册到JMX,并将其发布到外部监视系统中。

(活动线程池的大小也可以小于核心大小)