1

我正在尝试Folsom在 Erlang 中生成指标。

我创建了一个直方图(幻灯片),如何从中获取值?我正在使用

(test@SebMaynardSL2)1> folsom:start().
(test@SebMaynardSL2)2> MyMetric = "mymetric",
(test@SebMaynardSL2)3> folsom_metrics:new_histogram(MyMetric, slide). 

并尝试在其中添加一些值:

(test@SebMaynardSL2)4> [ folsom_metrics:notify({MyMetric, V}) || V <- lists:seq(1, 10) ].

但是取出值(用folsom_metrics:get_metric_value/1)似乎是以相当奇怪的顺序返回结果:

(test@SebMaynardSL2)5> folsom_metrics:get_metric_value(MyMetric).
[4,5,8,9,3,10,2,7,6,1]

如果我等待一段时间(60 秒,默认的滑动窗口时间)然后再做一次,我不一定会以相同的顺序得到一个度量值。

我应该如何从 Folsom 中获取值以用于(例如)图形生成?我确实考虑过放入{now(), V}而不是仅仅V放入我的通知中,然后按第一个元组值对返回的结果集进行排序,但结果以奇怪的顺序返回(或者更确切地说,正在写入)似乎很奇怪,而 Folsom 是无论如何都要跟踪事件的时间(使其“滑动”)。

这是使用 Folsom 0.7.4 和 Erlang R16B

谢谢!

4

1 回答 1

0

奇怪的是,在新克隆并再次签出标签 0.7.4 之后,运行问题中的命令会以正确的顺序给出结果:

(test@SebMaynardSL2)5> folsom_metrics:get_metric_value(MyMetric).
[1,2,3,4,5,6,7,8,9,10]

也许这毕竟不是问题。不知道为什么前几天会产生如此怪异的现象。

于 2013-06-14T09:05:37.273 回答