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

Dropwizard衡量如何在不结转计数器值的情况下对操作进行计数

慕才
2023-03-14

我有一个非常简单的案例,我想看看用户在我的应用程序中点击ButtonA的次数。我正在使用DropWizard指标计数器对此进行存档,并使用Coursera报告器每1分钟向DataDog报告一次。

registry.counter("buttonA").inc();

但现在的情况是,这个计数器的行为不像我想象的那样。因此,例如,如果按钮被点击4次,计数器将保留值4,直到应用程序重新启动,这不是很有用。

是否有其他我不知道的指标会保持计数,并在每个报告中重置为0?因此,在Datadog dashboard上,我可以轻松汇总所有计数,并设法获得准确的数字,即使应用程序重新启动,也不会影响指标。

共有1个答案

冯和硕
2023-03-14

我不认为有什么东西能自动为你做到这一点。您必须在每个报告间隔自行重置计数器。像这样的事情应该会奏效:

long count = registry.counter("buttonA").getCount();
dataDogReporter.report("buttonA", count);
registry.counter("buttonA").dec(count);
 类似资料:
  • 我想为android构建一个计算器应用程序,为此我需要一个解析器来转换要求解的字符串表达式。现在Java和Kotlin不支持eval函数,仅仅为了一个操作而导入javascript引擎可能会让我面临各种漏洞。所以我做了自己的计算器解析器。现在它工作得很好,除了crash中的负数外,所有算术运算都工作得很好。我确实知道问题是什么,因为我使用数学符号分隔字符串,但我不能在负值中执行任何操作。 输入:-

  • 我正在尝试检索列表中最频繁和不太频繁的元素。 我的输出是: 我试了一下: 但我不想使用模块并尝试更面向逻辑的解决方案。 你能帮我做没有收集吗?

  • 我在java中有一个等式, 双BER=(ERF.ERFC(Math.Sqrt(3*CodedEb_No)*Math.Sin(Math.PI/8)))/3; erf.erfc来自org.apache.commons.math3.special.erf 我不知道什么是CodedEb_No,但BER是1E-7。如何计算codedeb_no?我有一个提示,我需要使用org.apache.commons.m

  • 除了对反向列表理解进行列表理解之外,是否有一种pythonic方法按值对计数器进行排序?如果是这样,它比这更快:

  • 我正在使用Graphite和Collectd来监控我的服务器。特别是,我正在使用尾插件来计算失败的SSH登录。我使用计数器来计算这个指标,所以预计会看到1、2、3、0等……数据点。然而,我看到的是0.1、0.2、0.3、0等……在我看来,Graphite提供的是每秒计数。我这样说是因为我的保留策略是每10秒一个数据点,持续两个小时。所以每10秒1次失败的登录=每秒0.1次。我在图表中看到了这个。它

  • 问题内容: 我一直在寻找一种不用使用collections.sort就可以对数组列表进行排序的方法,因为我自己的逻辑有缺陷,而且我遇到了很多麻烦。 我需要对它进行排序,以便可以使用我创建的一种方法,该方法基本上可以执行collections.swap的工作,以便对数组列表进行完全排序。 这是我的代码: 我对此一直很烦恼。抱歉,这是在伤害社区。 问题答案: 我想,你希望下面的算法:在阵列的其余部分发