当前位置: 首页 > 知识库问答 >
问题:

如何重置dropwizard指标的计时器?

傅边浩
2023-03-14

我们正在处理定期收到的消息。我们使用codahale dropwizard指标的“计时器”来测量处理这些指标所需的时间。

我发现有人在这里也有同样的问题:“指数衰减水库的问题是,如果没有新数据进来,它会一直给出相同的数字。例如,假设你用5和7更新一个计时器(然后什么都不要放),然后不管你什么时候看到(甚至在x小时之后),计时器仍将显示平均值为6,这无论如何都不能代表过去5分钟的结果。因此,只有当数据始终到达时,它才起作用。"

但没有解决这个问题的建议。他们说这不会得到实施:https://github.com/dropwizard/metrics/issues/399

如何正确重置这些计时器,或者如何将其可视化以避免混淆?

共有2个答案

司寇祖鹤
2023-03-14

每次需要重置时,您都可以使用Metric注册表com.codahale.metrics.的公共布尔删除(字符串名)来重新创建计时器。删除后,您将创建一个同名的新计时器。它将有零计数器

傅增
2023-03-14
Note: It is too long for comment.

使用SlidingTimeWindowReservator将涵盖大多数用例。但正如本评论中所指出的,根据事件的数量,可能存在一个问题:它将窗口中的所有测量值保存在内存中,这在大量事件中变得不可接受

我们能做得更好吗?让我们继续搜索。如果幸运的话,我们会找到这篇博文。它准确地描述了你的问题类型。有一个链接指向他们的简单肮脏解决方案。还建议使用HdrHistogram。

在metrics邮件列表中也有几条关于这个问题的消息。例如,指向Marshall Pierce/hdrhistogram-metrics-水库。什么是Hdrhiogram以及为什么使用它来测量延迟查看项目描述。

最后,经过更多的挖掘,您还可以找到vVladimir-bukhtoyarov/metrics-core-hdr项目。它也使用Hdrhigram

所以有两个类似的库使用相同的数据结构,并声称可以解决您遇到的问题案例。

 类似资料:
  • 我正在使用codahale指标(现在是dropwizard指标)来监控系统中发生的一些“事件”。我使用计数器来跟踪“事件”发生的时间。 我检查了报告器打印的值,以获取我的计数器指标,似乎该值一直在增加(而且从未下降)。这似乎合乎逻辑,因为我总是使用指标。每当我的“事件”发生时,inc()函数。

  • 我有大约20个API,我想为每个API实现执行时间、响应计数等统计信息。在做了一些研究之后,我了解到dropwizard度量是实现这些功能的最佳方法。我使用的是SpringMVC框架(不可启动)。有人能建议我如何将度量集成到Spring MVC框架中吗? 如果可能,请提供任何代码作为参考。

  • 我们使用Jersey和web创建了多个APIendpoint。xml设置而不是资源配置设置。我们希望捕获并显示每个endpoint的所有请求的度量,包括所有不同的响应代码。到目前为止,我已经创建了一个类,它扩展了InstrumentedFilterContextListener,并在其中包含了Graphite reporter。 在web.xml中,我添加了以下块来使报告工作: 因此,通过上述配置

  • 嗨,我是java的新手,正在尝试学习如何使用Dropwizard指标库来衡量单个进程的性能。我已经查看了他们的入门,并运行了他们为Metricsignstry编写的内容,但不了解如何将流程和指标注册合并为一个(它测量的是我的流程所花费的时间,而不是它自己运行所需的时间)。 我可能写错了很多东西,但希望我的问题足够清楚。提前感谢我能得到的任何帮助/澄清!我将下面要测量的代码(pi数字到第n个数字)与

  • 我已经为dropwizard (codehale)度量注册表配置了一个基本的sl4j reporter。这是报告器配置: 我正在接收的日志不是我所期望的(期望使用metricRegistry注册的计时器、计数器的可解析输出)。这是我每30秒实际看到的内容(与报告器配置相匹配): …… java: 55)org.slf4j.helpers.FormattingTuple@39fda09e 无论如何,

  • 我是Java新手。在探索监控卡桑德拉的方法时,我发现(https://cassandra.apache.org/doc/latest/operating/metrics.html)“使用Dropwizard度量库管理Cassandra中的度量”。然而,在一些地方,我读到了Codahale度量,这让我对两者之间的区别/关系感到困惑。这些不同的库是在做同样的事情,还是以前称为dropwizard的度量