在Java中收集应用程序度量标准(可选.Net)

jtr*_*ove 12 .net java performance monitoring metrics

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

比如我能做到

StopWatch dbWriteTime = new Log4JStopWatch("ServiceName:DBWrite");
dbWriteTime.start();
... execute DB stuff here
dbWriteTime.stop();
Run Code Online (Sandbox Code Playgroud)

并且您可以将这些指标设置为以任何时间间隔记录,并且它可以很好地完成.但有时候我想做点什么

Metric metric = new Metric("ServiceName:OrdersPerRequest");
metric.put(50);
Run Code Online (Sandbox Code Playgroud)

我可以将perf4j计时器lib调用50次,但这是一个非常糟糕且效率低下的黑客,可以在日志中获取我的指标.有谁知道一个好的开源库可以做两种类型的指标?此外,如果它可以监视输出指标日志并将它们转储到一个很好的集中式数据库.另外,如果您知道一个好的开源Web前端来绘制图形并显示这种数据,我会对此非常感兴趣.看来这一定是很多人以前需要的东西.

小智 22

我最喜欢Coda Hale的度量库,但您可能也想看看Java Simon.其他选项包括stajistics,火腿,和冻糕.


jab*_*ley 9

我建议采取看看科达硬朗的演讲,他的指标 .这应该从Java的角度来看你.