检测JVM代码以向AWS CloudWatch

时间:2016-12-29 17:08:08

标签: java amazon-web-services jvm dropwizard

如何在JVM代码中设置计时器和计数器,以便将它们传递给AWS CloudWatch?我对手动仪器很感兴趣,例如:在需要的地方添加timer.start()timer.stop()counter.incr()来电。

我们当前的解决方案是使用Dropwizard Metrics进行检测,this project可以很好地将指标发送到AWS。这个堆栈的问题是Dropwizard Metrics有自己的内部聚合,它基于expontentially decaying reservoir。正如其他人所提到的,这种行为是not easily modified。结果是AWS Cloudwatch中的数据混乱和不正确。例如:

  • 平均值缓慢向实际值蠕变,导致预期平线的倾斜线
  • 最小值和最大值暂时停留在某个先前值,从而形成一条完美的扁平线,预计会有不断变化的值

我认为更好的解决方案可能是在将数据提交给AWS之前汇总不超过一分钟的数据。

0 个答案:

没有答案