一个Python指标库,包含速率、统计分布和计时信息。
项目描述
正如
它具有性能影响,Y U NO MEASURE IT!?
Yunomi可以提供对应用程序内部行为的洞察,为您的代码选定部分提供有用的统计数据和指标。它是Coda Hale的Java Metrics库核心部分的Python版本http://metrics.codahale.com/。
停止猜测,开始测量
$ pip install yunomi
核心功能
计数器
简单的接口,用于增加和减少一个值。例如,这可以用来测量发送到队列中的作业总数,以及队列中待处理(尚未完成)的作业数量。当操作开始时,简单地增加计数器,当操作完成时,减少计数器。
仪表
测量事件随时间的变化率。有助于跟踪应用程序的某个部分请求的频率,以便相应地设置资源。跟踪平均速率(仪表重置以来的整体速率)和过去1、5和15分钟内统计上显著的事件速率(指数加权移动平均)。
直方图
测量数据流中值的统计分布。跟踪最小值、最大值、平均值、标准差等。它还测量中位数、第75、第90、第95、第98、第99和第99.9个百分位数。一个示例用例是查看99%的日子里每天的登录次数,忽略异常值。
计时器
仪表和直方图的组合,允许您测量代码某部分被调用的频率和操作持续时间的分布。例如,您可以查看代码击中数据库的频率以及这些操作通常需要多长时间。
示例
装饰器
使用yunomi库的最简单和最直接的方法。
计数器
您可以使用count_calls装饰器来计算函数被调用的次数。
>>> from yunomi import counter, count_calls
>>> @count_calls
... def test():
... pass
...
>>> for i in xrange(10):
... test()
...
>>> print counter("test_calls").get_count()
10
计时器
您可以使用time_calls装饰器来测量函数的执行时间,并从中获取分布数据。
>>> import time
>>> from yunomi import timer, time_calls
>>> @time_calls
... def test():
... time.sleep(0.1)
...
>>> for i in xrange(10):
... test()
...
>>> print timer("test_calls").get_mean()
0.100820207596
要求
Yunomi没有外部依赖,可以在PyPy和Python 2.6、2.7和3.3上运行。
历史
0.3.0 (2013-07-27)
现在除了2.6和2.7之外,还支持Python 3.3。
装饰器不再消耗返回值。
现在可以重置仪表。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
构建分布
yunomi-0.3.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 91fceddbb4716cba81219a1f70dd3814e128a4352698520e1ed355ab9cb7db87 |
|
MD5 | 7b5ca30ef9c68aa33488e2fdb26cf31c |
|
BLAKE2b-256 | 6b589aacb24163fa5fcc380217fe4057ec17c624eee3f34a6618737225981e30 |
yunomi-0.3.0-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0a57d8277109458d85371d41afdbf749edee824fffc559542e6680fa59ad6ca8 |
|
MD5 | 177197af818d381ffa6ef9a31997007a |
|
BLAKE2b-256 | b8f038c36e0a71f545334a8eb1d6016896be4a44c06dd98f1854db22545ce63c |