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