我想使用DropWizard中的Guage指标来监控我的线程池大小。
ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(
2,
2,
1,
TimeUnit.MINUTES,
new ArrayBlockingQueue<Runnable>(100),
new ThreadPoolExecutor.DiscardPolicy());
metricRegistry.register(name(ThreadPoolExecutor.class, "ThreadPoolRemainingCapacity"), (Gauge<Integer>) () -> threadPoolExecutor.getQueue().remainingCapacity());
metricRegistry.register(name(ThreadPoolExecutor.class, "ThreadPoolOccupiedCapacity"), (Gauge<Integer>) () -> threadPoolExecutor.getQueue().size());
return threadPoolExecutor;
据我所知,这是在间隔时间内自动完成的。但似乎我没有获得注册指标的任何监控数据。虽然我的应用程序中的其他指标(如计数器和计时器)工作得很好。
有人能帮助我哪里做错了吗?
谢谢。
您的代码应该已经是正确的。您可以执行以下操作来调试它:
您应该注册一个实现 MetricSet 接口的类,如下所示(此上有一些可以忽略的Spring注释):
@Component
public class ThreadPoolGaugeSet implements MetricSet {
@Autowired
@Qualifier( "taskExecutor")
private ThreadPoolTaskExecutor taskExecutor;
@Autowired
@Qualifier( "taskExecutorLowPrio")
private ThreadPoolTaskExecutor lowPriotaskExecutor;
@Override
public Map<String, Metric> getMetrics() {
final Map<String, Metric> gauges = new HashMap<>();
gauges.put( "highPrioActive", (Gauge<Long>) () -> (long) taskExecutor.getActiveCount() );
gauges.put( "lowPrioActive", (Gauge<Long>) () -> (long) lowPriotaskExecutor.getActiveCount() );
return gauges;
}
}
...
metricRegistry.register( "threadpool", poolGauge );
我正在学习DropWizard Metrics库(以前的Coda Hale指标),我不知道什么时候应该使用vs。根据文档: 仪表:仪表测量一组事件发生的速率 以及: 计时器:计时器基本上是一种事件持续时间的直方图和它发生的速率的度量 基于这些定义,我无法区分它们之间的区别。让我困惑的是,计时器的使用方式与我预期的不同。对我来说,计时器就是:计时器;它应该测量开始和停止之间的时间差。但计时器似乎也能
我正在尝试使用prometheus来监视Spring-Boot中的一些缓存度量。缓存是用创建的,我的配置如下: 我的缓存是用一个简单的创建的--我没有其他缓存代码或设置。我也没有使用任何特定的缓存,只提供了内置的一个。 我看到了一些关于需要手动注册缓存的注释,但我也无法使其工作(我也不确定它是否适用)。在尝试这样做时,问题是我无法在bean中自动连接。没找到。
本文向大家介绍监视器与信号量,包括了监视器与信号量的使用技巧和注意事项,需要的朋友参考一下 监视器和信号灯用于进程同步,并允许进程使用互斥来访问共享资源。但是,监视器和信号灯包含许多差异。关于这两个的详细信息如下- 监控器 监视器是一种同步构造,旨在克服由信号量引起的问题,例如定时错误。 监视器是抽象数据类型,包含共享的数据变量和过程。共享数据变量不能由进程直接访问,并且需要过程才能允许单个进程一
我想监视spring-data-redis中的池度量。JedisconnectionFactory的游泳池是私人的。我怎么才能拿到?我搜索谷歌,但我找不到很好的方法做到这一点。
为此,我使用spring-boot-starter-web-services(2.0.8.release)。我需要为来自遗留服务的SOAP响应添加度量标准(状态代码为200、非200等的请求数) 我的项目依赖于spring-boot-actuator,但不幸的是,我在actuator/千分尺文档中没有发现如何做到这一点。 是否可以为WebServiceTemplate启用度量标准,它实际上用于从远
本文向大家介绍如何使用信号量实现监视器?,包括了如何使用信号量实现监视器?的使用技巧和注意事项,需要的朋友参考一下 为了使用信号量实现监视器,为每个监视器提供了一个信号量互斥锁(已初始化为1)。Wait(mutex)必须在进入监视器之前由进程执行,并且必须在离开监视器之后执行signal(mutex)。由于信令过程必须等待,直到恢复的过程离开或等待,所以引入了另一个信号量(下一步),初始化为0。信