PyCounters 似乎每秒计算出现次数。我想将计数器计数的持续时间增加到一分钟,所以我在 munin 图中得到每分钟的出现次数。我使用 @frequency 装饰器来计算出现次数。有什么提示吗?
1 回答
我不确定这是否仍然是一个问题。但为了完整起见 - 这是一个答案。
这里有几件事在起作用。首先,PyCounters 计算在 5 分钟的窗口上运行(默认设置)。如果你想要每分钟的平均值,你需要改变它。然后是将计数器输出到文件的频率问题。这是不同的,因为您希望每分钟输出 5 分钟的平均值。最后,您还拥有默认每 5 分钟运行一次的 munin 数据收集。
我不确定您想要实现什么,但这里是您如何更改 PyCounters 部分(有关更多详细信息,请参阅http://pycounters.readthedocs.org/en/latest/tutorial.html#step-5-more-about -事件和计数器)
希望这会有所帮助,波阿斯
改变 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