在Java(可选.Net)中收集应用程序度量
我希望能够从我的应用程序中动态地公开各种基于时间和计数的度量。Perf4j在时间上运行得非常好,但我知道它不允许以一种直接的方式进行计数 比如我能做什么在Java(可选.Net)中收集应用程序度量,java,.net,performance,monitoring,metrics,Java,.net,Performance,Monitoring,Metrics,我希望能够从我的应用程序中动态地公开各种基于时间和计数的度量。Perf4j在时间上运行得非常好,但我知道它不允许以一种直接的方式进行计数 比如我能做什么 StopWatch dbWriteTime = new Log4JStopWatch("ServiceName:DBWrite"); dbWriteTime.start(); ... execute DB stuff here dbWriteTime.stop(); 您可以设置这些指标,以在任何时间间隔记录,这一点做得很好。但有时我想做一些像
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前端来绘制和显示此类数据,我将对此非常感兴趣。看来这一定是很多人以前都需要的东西。我建议你去看看,看看他的。从Java的角度来看,这应该涵盖您。我最喜欢Coda Hale的库,但您可能也想看看。其他选项包括,和。我有一个原始问题,为什么我们需要使用库来测量这些?使用库中的计数器与使用整型变量并使其递增有何不同?