我们在数据库中存储了多个变更日志,并希望创建一个直方图来监视变更之间的持续时间。
似乎没有办法设置Historgram.Timer
的开始时间,例如,鉴于当前更改日志,我们希望将其设置为lastUpdated
。
Histogram
应该工作。但是,java-lib广泛使用protected
/ package-private
,因此很难复制大部分库。
创建Histogram.Timer
后,应该可以使用反射来设置start
字段。该字段标记为private final
,因此SecurityManager可能在某些环境中阻止我们。
这两个解决方案似乎都不是正确的解决方法,我怀疑我正在忽略一个更简单的解决方案(但可以在SO或google上找到任何东西)。如果这在这种情况下完全有用的话,我们正在使用grafana可视化指标。
答案 0 :(得分:1)
您不需要继承Histogram
,因为您的直方图用于测量时间,因此不需要使用Histogram.Timer
。
每次在数据库中记录新更改时,只需调用myHistogram.observe(System.now() - lastUpdated)
。