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

Dropwizard metrics(Meter)3.1.0 InfluxDB 0.9。x Grafana停留在最新值

龚玄天
2023-03-14

正如标题所示,我使用上面的堆栈来深入了解一段时间内特定方法调用的频率。

这是如何在代码中设置收集指标的:

 public void searchProducts(Query query) {
    Meter meter = metricRegistry.meter(MetricRegistry.name("search.products"));
    meter.mark();

    // perform search
    // ...
  }

这是Grafana中图形的配置方式:

这就是结果图的样子:

如您所见,当没有方法调用时,该行将停留在最新值。当我停止应用程序时,有几次下降到0(在开始时两个大的“驼峰”之后,在结束时又下降了一个)。

在最后一个标记过了一段时间后,行不应该降到0吗?E、 g.应用程序启动后,会发生几个方法调用,每个方法调用之间经过1秒,然后大约30秒后,该行应返回到0并保持不变。这样地:

  • 00:00应用程序开始(行位于0)
  • 00:01方法调用(行至1)
  • 00:02方法调用(行至2)
  • 00:03方法调用(行至3)
  • 00:04什么也没发生(线路保持在3)
  • 00:05什么也没发生(线路保持在3)
  • 00:30什么也没发生(行下降到0)

相反,在这种情况下,Meter的行为似乎就像应用程序整个生命周期中的计数器递增值。

编辑:以下是图形在显示样式下的外观-

更新:很抱歉延迟响应——直到最近我才回到这个问题。我发现了问题的根本原因——底层数据库是带有自定义度量报告器的影响数据库(影响数据库没有官方度量报告器),并且报告器逻辑中存在错误。

谢谢大家的帮助。

共有3个答案

梁丘经艺
2023-03-14

您可以使用仪表或计数器来总结或计算每个任意间隔的计数(总数):

hitcount(perSecond(your.count), '1day')

哎呀,里面全是黑魔法。包括但不限于汇总(scaleToSeconds(nonnegativedeviative(your.count),1),“1day”),还应根据落入所选聚集区间的碳保留期(一个或多个)进行缩放。

公冶昆杰
2023-03-14

这种类型的输出可能来自使用默认的指数衰减水库。这将导致在没有最近更新时返回最新的值。水库永远不会被冲洗干净。

潜在的解决方案包括:

  • 切换到滑动时间窗口库(性能最低,最容易实现)
  • 每次报告/记录数据时刷新值

可以在这里找到更深入的帖子(http://taint.org/2014/01/16/145944a.html).

曾飞沉
2023-03-14

对于图形,在“显示样式”选项卡下有一个选项,您可以在其中选择如何处理空值。如果选择了“连接”,则您将看到所描述的行为。还有另外两个选项,null-

在旧版本的Grafana上,选项是调用空点模式(此处有文档)

以下是Grafana 3.1中选项的屏幕截图:

 类似资料:
  • 在我的课堂上,我有以下的顺序- 这是spring data jpa repository类,具有获取下一个值的方法 我需要从序列中获取next_val,并将该值传递到两个不同的位置。所以我调用我的存储库的getNextOrderInvoiceNoSeq()方法,并将该值存储为orderInvoiceNo- 所以现在发生了什么,对于放置客户订单的前两次迭代,我得到的订单发票号为1和41,但在那之后,

  • 我最近更新了android studio和它的插件,一切正常。但突然发生了这种事,我知道该怎么解决了。应用程序运行了,但出现了一些意想不到的行为。尝试同步gradle,卸载和重新安装更新,但似乎没有任何工作。

  • 我们已经在Highcharts Configuration Syntax一章中看到了用于绘制图表的配置 。 下面给出了具有双轴的仪表的示例。 配置 (Configurations) 现在让我们看一下所采取的其他配置/步骤。 chart.type 将图表类型配置为基于计量。 将类型设置为“规格”。 var chart = { type: 'guage' }; pane 仅适用于极坐标图和角度

  • 我试图创建一个回归模型,但我的验证精度保持在。我试图训练图像,让网络找到一个物体的位置和它覆盖的粗糙区域。我增加了解冻层和精度的平台下降到。如果能帮我找出我做错了什么,我将不胜感激。 数据是由一个包含图像数据和一些标签的tf记录文件生成的。这是发电机的最后一点。 获取批处理:数据集从两个目录加载,其中包含tfrecord文件,一个用于培训,另一个用于验证 1月1/1000/1000 1000/10

  • 描述 (Description) HTML 标记指定已知范围(标尺)内的标量测量。 例子 (Example) <!DOCTYPE html> <html> <head> <title>HTML meter Tag</title> </head> <body> <meter value = "7" min = "0" max = "10">7 out of

  • meter控件用来表示已知范围,且可度量的等级标量或分数值,如考试成绩等。 <meter value="85" min="0" max="90" low="10" high="90" optimum="10">85</meter> 其中,value属性规定标量的实际测量值,如果不指定,默认为0;min属性规定标量的最小值,如果不指定,则为0;max属性规定标量的最大值,如果不指定,则为1;low