我希望能够从我的应用程序动态公开各种时间和基于计数的指标。 Perf4j可以很好地解决时间问题,但是不允许以我所知道的简单方式进行计数。

例如我可以做

StopWatch dbWriteTime = new Log4JStopWatch("ServiceName:DBWrite");
dbWriteTime.start();
... execute DB stuff here
dbWriteTime.stop();

并且您可以设置这些指标以在任何时间间隔进行记录,并且可以很好地完成记录。但是有时候我想做些类似的事情
Metric metric = new Metric("ServiceName:OrdersPerRequest");
metric.put(50);

我可以将perf4j计时器lib调用50次,但这是一种可怕且效率低下的技巧,无法在日志中获取指标。有谁知道一个可以同时执行两种指标的优秀开源库?另外,如果它可以监视输出度量标准日志并将其转储到集中式数据库中,那将是很好的。另外,如果您知道一个好的开源Web前端可以绘制图形并显示这种数据,那么我将对此非常感兴趣。看来这一定是很多人以前需要的东西。

最佳答案

我最喜欢Coda Hale的metrics库,但您可能还想看看Java Simon。其他选项包括stajisticsJAMonparfait

10-07 12:18
查看更多