设置直方图样本的开始时间

问题描述 投票:0回答:1

The usecase

我们在数据库中存储了多个更改日志,并希望创建一个监视更改之间持续时间的直方图。

The problem

似乎没有办法设置Historgram.Timer的开始时间,例如我们想在给定当前更改日志的情况下将其设置为lastUpdated

Avenues of approach

1子类化Histogram

应该管用。然而,java-library广泛使用qazxsw poi / qazxsw poi,因此在不复制大部分库的情况下使其变得困难。

2使用反射

在创建protected之后,应该可以使用反射来设置package-private字段。该字段标记为Histogram.Timer,因此SecurityManager可以在某些环境中阻止我们。

Ideas?

这些解决方案似乎都不是正确的方法,我怀疑我忽略了一个更简单的解决方案(但可以在SO或谷歌找到任何东西)。我们正在使用grafana来可视化我们的指标,如果这些在这种情况下有帮助的话。

grafana prometheus prometheus-java
1个回答
1
投票

您不需要子类start,因为您不需要仅使用private final,因为您的直方图是测量时间。

每次在数据库中记录新的更改时,只需调用Histogram

© www.soinside.com 2019 - 2024. All rights reserved.