我希望能够动态地从我的应用程序中公开各种基于时间和计数的指标。 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计时器库50次,但这是一种可怕和低效的方法来在日志中获取我的度量。有没有人知道一个好的开源库可以做两种类型的度量?此外,如果它可以监视输出的指标日志并将它们转储到集中式数据库,那就太棒了。另外,如果你知道一个好的开源Web前端来绘制和显示这种数据,我会非常感兴趣。似乎很多人之前都需要这样的东西。