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

Dropwizard IO指标始终聚合

温凯
2023-03-14

我正在尝试通过拖放向导 IO 指标监视某些指标。我想获取在特定时间段内下载的文件数,并且我想自己聚合该指标。例如,假设在 10.00 到 10.15 之间,下载了 60 个文件。我希望指标在此时间段和 10.15 之后为 60,它必须返回零。但是,在 10.15 之后,指标始终返回 60。有没有办法避免其自动聚合?

共有1个答案

别浩漫
2023-03-14

这是可能的,我认为您只是使用了错误的指标。您必须使用使用时间窗口的指标并正确配置它们。看看我写的这个简单的例子:

public class MetricTest {

    public static final long SLEEP_TIME = 51;

    public static void main(String[] args) throws InterruptedException {

        SlidingTimeWindowReservoir reservoir = new SlidingTimeWindowReservoir(50, TimeUnit.MILLISECONDS);
        Histogram h = new Histogram(reservoir);

        h.update(1);
        System.out.println(h.getSnapshot().size());
        Thread.sleep(SLEEP_TIME);

        h.update(1);
        System.out.println(h.getSnapshot().size());
        Thread.sleep(SLEEP_TIME);

        h.update(1);
        System.out.println(h.getSnapshot().size());
        Thread.sleep(SLEEP_TIME);

        h.update(1);
        System.out.println(h.getSnapshot().size());
        Thread.sleep(SLEEP_TIME);

        h.update(1);
        System.out.println(h.getSnapshot().size());
        Thread.sleep(SLEEP_TIME);

        h.update(1);
        System.out.println(h.getSnapshot().size());

    }
}

我使用直方图来计算我提交的值的数量。参见上面的SLEEP_TIME常量了解到期时间。

如果我在睡眠时间为0的情况下运行,我会得到:

1 2 3 4 5 6

如果我在睡眠时间为51的情况下运行它,每次创建快照时,之前的值都会过期,我得到:

1 1 1 1 1 1

您可以编写自己的窗口实现,简单地执行扣入并删除旧桶。

我希望这能澄清指标是如何工作的。

阿特尔

 类似资料:
  • 问题内容: 我看到这个问题已经被问过很多次了,但是没有一个帖子有帮助或最终的解决方案。我正在拆分一条消息,然后使用Aggregator2对其进行汇总。该代码引发异常,因为oldExchange始终为null。因此,为了测试,我设计了一个小代码。 我读了一个订单,xml文件,看起来像这样 我的骆驼上下文看起来像这样 我的汇总策略课程如下所示 问题在于,将汇总结果保存在output.xml文件中时,它

  • Turbine(由Spring Cloud Netflix项目提供))聚合多个实例Hystrix指标流,因此仪表板可以显示聚合视图。Turbine使用DiscoveryClient接口查找相关实例。要将Turbine与Spring Cloud Consul结合使用,请按以下示例配置Turbine应用程序:的pom.xml <dependency> <groupId>org.springfram

  • 我使用这篇Baeldung文章为Spring 2.0.4应用程序添加了执行器支持。在第4.4节中,它谈到 你们中有谁知道关于创建这种聚合的教程、示例或其他文档吗? 更多信息我在我的应用程序中有一个服务,它依赖于几个子组件。只有当所有这些子组件都关闭时,服务本身才被认为关闭。只要有一个站起来,那么服务就站起来了。目前使用的是正常的机制,如果其中一个子组件宕机,则将服务器标记为宕机。 似乎我想使用,但

  • 问题内容: 我想使用总结一个字段 但它总是返回 有什么办法吗? 问题答案: 首先,返回,而不是“直接”结果。您必须遍历光标以获取结果文档(例如,使用和),或使用一步来获取所有结果文档。 接下来,您没有指定要累加的字段。您所拥有的是一个简单的“计数”,它将返回已处理文档的数量。要真正总结一个字段,您可以使用 让我们来看一个例子。假设我们在Collection中有以下文档: 这是我们计算支票和对付款进

  • 问题内容: 我在Windows 7上同时安装了jdk和jre。 我已经将JAVA_HOME设置为 我有加 到PATH。 但是java.exe仍然指向我的jre目录,这是 自从我跑 它抱怨 谁能告诉我我还需要设置什么? 问题答案: 因为您在Windows上,所以Java不能那样工作。在某些Windows目录中有一个java.exe(适合您的%windir%system32) 这个java.exe实际

  • 问题内容: 我想按地址分组,然后按日期获取最新地址,然后按状态过滤此结果。 我在elasticsearch中有此查询,但它最多只能按地址分组并获取最新日期。我无法按状态过滤此结果。 我想使用Elasticsearch从该结果中获得出售状态 问题答案: 使用ES 使用ES可以做到这一点。首先,我们需要汇总地址。然后,我们使用两种汇总,一种汇总获取最新日期,另一种汇总获取销售状态的最新日期。然后,我们