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

如果数据没有每分钟轮询,SimpleMeterRegistry将清除数据

公羊凌
2023-03-14

我有一个简单的spring boot应用程序,其配置如下(该项目可以在GitHub上找到):

management:
  metrics:
    export:
      simple:
        mode: step
  endpoints:
    web:
      exposure:
        include: "*"

上面的配置创建SimpleMeterRegistry并将其指标配置为基于步骤的,步骤为60秒。我有一个脚本每秒向服务虚拟endpoint发送50-100个请求,另一个脚本每X秒轮询来自/actuator/metrics/http.server.requests的数据。当我每60秒运行后一个脚本时,一切都按预期工作,但当脚本每120秒运行一次时,响应总是包含total_timecount度量值的零。

有人能解释这种行为吗?

我用management.metrics.export.simple.step=10s做了一个类似的测试,当轮询间隔为10s时它工作正常,当轮询间隔为20s时它不工作。在15s间隔内,它零星工作。所以,这肯定与步长和轮询频率有关。

共有1个答案

孙岳
2023-03-14

maxtotal_timecount是statistic的属性。

DistributionStatisticConfig具有.expiry(duration.ofminutes(2)),如果在过去2分钟(120秒)内没有发出请求,则将some度量值设置为0

为相同的方法编写了public TimeWindowMax(Clock Clock,...)private void rotate()等方法。您可以在这里看到实现

更详细的回答

 类似资料:
  • 下面的代码从我的应用程序开始,每隔30秒向graphite注册五个度量计数,一分钟、五分钟、五分钟、平均速率。 我想在Grafana仪表板中显示每分钟收到的请求数。(即,如果在第一分钟接收到60,则在第二分钟接收到120),因为上述仪表度量中的计数一直在增加,并且所有*速率值都是每秒事件数。我不知道如何将度量记录到Grafana仪表板中,该仪表板显示每分钟接收的请求数。非常感谢您的任何建议? 假设

  • 清除地球上添加的数据,同时有将数据线和数据点清除的效果。 // 使用 clearData API 来清除数据 controller.clearData();

  • 存储库数据库存储监控过程中由 Navicat Monitor 收集的所有数据。它可能会消耗大量的硬盘空间。为防止数据库增长过大或使用所有硬盘空间,你可以设置定期自动数据清除。若配置数据清除设置,请前往“配置”->“数据清除”。 数据存储在两个类别中:警报和性能数据。警报数据显示在概览、警报历史记录和警报详细信息页面的各个部分。性能数据显示在概览、实例详细信息和图表页面。 你可以选择在每个类别中保留

  • 我一直在阅读大量Spring Cloud DataFlow和相关文档,以便生成一个将在我的组织的云铸造部署中运行的数据摄取解决方案。目标是轮询HTTP服务中的数据,可能每天轮询三次,以便进行讨论,并在PostgreSQL数据库中插入/更新该数据。HTTP服务似乎每天提供10s数千条记录。 到目前为止,一个困惑点是数据流管道上下文中用于删除轮询记录的最佳实践。源数据没有帮助跟踪轮询的时间戳字段,只有

  • 问题内容: 我已经在项目中编写了一些JUnit测试,这些测试用于在setup方法中填充数据。现在我已经将maven添加到我的项目中,并且我想执行所有来自maven的测试用例,即使用mvn test。现在的问题是,在运行每个测试类之后,不会清除我的数据库。每个类的测试用例运行后,我需要清除HSQLDB。 问题答案: 您可以通过删除架构来清除数据。默认模式称为PUBLIC。如果执行下面的SQL语句,它

  • 问题内容: 我需要查询方面的帮助,比方说这是表中的数据。 我想获得至少比最后一行晚5分钟的每一行(时间戳)。在这种情况下,查询应返回: 问题答案: 递归CTE 由于每一行都取决于之前的一行,因此很难使用基于集合的方法来解决。求助于递归CTE(这是标准SQL): 请注意我的初稿中的更新: 递归CTE中不允许使用聚合函数。我用/代替,当/上的 索引 支持时应该很快。 查询每条腿周围的括号对于允许是必须