如何用pycounters改变计数间隔

时间:2012-09-10 21:43:26

标签: python counter munin

PyCounters似乎计算每秒出现次数。我想增加计数器计数到一分钟的持续时间,所以我在munin图中每分钟出现一次。我使用@frequency装饰器计算出现次数。任何提示?

1 个答案:

答案 0 :(得分:0)

我不确定这是否还是个问题。但为了完整起见 - 这是一个答案。

这里有几件事情在发挥作用。首先,PyCounters计算在5分钟的窗口上运行(默认设置)。如果你想要每分钟平均值,你需要改变它。然后是将计数器输出到文件的频率问题。这是不同的,因为你想每分钟输出5分钟的平均值。最后,你有munin数据收集,默认情况下每5分钟运行一次。

我不确定你想要实现什么,但是这里是你如何改变PyCounters部分(更多细节参见http://pycounters.readthedocs.org/en/latest/tutorial.html#step-5-more-about-events-and-counters

希望这有帮助, 波阿斯

更改PyCounters的输出频率

当你告诉PyCounters开始自动报告时,你可以设置间隔(如Joran所述):

pycounters.start_auto_reporting(seconds=60)

更改平均窗口的大小

这稍微有些棘手,因为您需要定义自己的频率计数器(如果不清楚,请查看教程以获取更多信息:http://pycounters.readthedocs.org/en/latest/tutorial.html

步骤1-定义频率设置,平均窗口为1分钟:

req_per_sec = counters.FrequencyCounter("requests_frequency", window_size=60)
register_counter(req_per_sec)

第2步 - 使用report_start_end装饰器(虽然频率也会很好)

@pycounters.report_start_end("requests_frequency")
def func():
    pass