性能指标,基于Coda Hale的Yammer指标
applipy-metrics的Python项目详细描述
应用指标
Note: This is a hard fork of Lightricks/PyFormance at commit
d59501e
的核心部分的Python端口 Java Metrics library by Coda Hale,带 灵感来自YUNOMI - Y U NO MEASURE IT?
Applipy Metrics是一个用于性能度量和统计的工具集,具有 允许在发生意外行为时发出事件的信令机制
核心功能
仪表
仪表公制是特定值的瞬时读数。在
计数器
增加和减少值的简单接口。例如,可以这样 用于测量发送到队列的作业总数,以及 队列中挂起(尚未完成)的作业数。只需增加 操作开始时计数器,完成时递减。在
总结
度量数据流中值的统计分布。跟踪 最小值、最大值、平均值、标准差等。它还测量中值, 第75、90、95、98、99和99.9个百分位。一个示例用例将 看看你每天99%的登录次数, 忽略异常值。在
正则表达式分组
使用API时非常有用。RegexRegistry允许分组API调用和 从单个位置测量,而不必在中定义不同的计时器 不同的地方。在
>>> from applipy_metrics.registry import RegexRegistry
>>> reg = RegexRegistry(pattern='^/api/(?P<model>)/\d+/(?P<verb>)?$')
>>> def rest_api_request(path):
... with reg.timer(path).time():
... # do stuff
>>> print reg.dump_metrics()
应用程序
如果安装了applipy,此库将公开applipy模块。在
可以在applipy_metrics.MetricsModule
导入模块。在
它绑定一个MetricsRegistry
实例,以便其他模块可以声明
依赖关系并使用它来创建度量。在
示例
装饰师
使用Applipy度量库的最简单和最简单的方法。在
计数器
您可以使用count_calls
修饰符来计算函数的次数
被称为。在
定时器
您可以使用time_calls
修饰符来计时函数和
从中获取分发数据。在
>>> import time
>>> from applipy_metrics import summary, time_calls
>>> @time_calls
... def test():
... time.sleep(0.1)
...
>>> for i in range(10):
... test()
...
>>> print summary("test_calls").get_snapshot().get_mean()
0.100820207596
带声明
还可以使用with语句使用计时器
天文钟
>>> import time
>>> from applipy_metrics import summary, Chronometer
>>> with Chronometer(on_stop=lambda x: summary("test").add(x)):
... time.sleep(0.1)
>>> print summary("test").get_snapshot().get_mean()
0.10114598274230957
标签:
- 项目
>>> import time
>>> from applipy_metrics import summary, Chronometer
>>> with Chronometer(on_stop=lambda x: summary("test").add(x)):
... time.sleep(0.1)
>>> print summary("test").get_snapshot().get_mean()
0.10114598274230957
标签: