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

如果数据没有每分钟轮询,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语句,它

  • Deprecated since version 0.52. When you delete objects (and buckets/containers), the Gateway marks the data for removal, but it is still available to users until it is purged. Since data still resides