我希望能够从我的应用程序动态公开各种基于时间和计数的指标。 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前端来绘制图形并显示这种数据,我会对此非常感兴趣。看来这肯定是很多人以前需要的东西。
答案 0 :(得分:22)
我最喜欢Coda Hale的metrics图书馆,但您可能也想查看Java Simon。其他选项包括stajistics,JAMon和parfait。
答案 1 :(得分:9)
我建议您在look及Coda Hale's presentation metrics时使用library。这应该从Java的角度来看你。