jos*_*osh 5 java spring-boot micrometer spring-micrometer
我正在使用下面的代码尝试千分尺。如何配置速率聚合并从应用程序内的给定计数器获取速率聚合数据。通过聚合率,我的意思是之前发布间隔的数据?
final MeterRegistry myRegistry = new SimpleMeterRegistry();
final Random random = new Random();
for (iteration = 0; iteration < 1000; iteration++)
{
final int randomNum = random.nextInt(10);
final Counter myCounter = myRegistry.counter("myTestCounter", "random", Integer.toString(randomNum));
myCounter.increment();
Thread.sleep(100);
}
System.out.println("measure = [" + myRegistry.counter("myTestCounter", "random", "0").measure());
System.out.println("count = [" + myRegistry.counter("myTestCounter", "random", "0").count());
Run Code Online (Sandbox Code Playgroud)
注意:我不想将指标发布到任何监控系统。我想跟踪应用程序本身中每个时间间隔给定标签的请求数量(例如,给定时间间隔的成功/失败请求),并将其用于弹性目的。
根据该项目作者的评论,Micrometer 打算将指标导出到 Prometheus 等外部产品就绪监控系统,因此您的方法有点不寻常。
Micrometer 支持对不支持像 InfluxDB 这样的速率聚合的监控系统进行速率聚合,它的支持来自StepMeterRegistry. 但SimpleMeterRegistry不是它的子类之一,因此如果您想坚持这种方法,您需要创建自己的子类。
更新:
我为自定义创建了一个示例StepMeterRegistry。
| 归档时间: |
|
| 查看次数: |
3834 次 |
| 最近记录: |