具有速率、统计分布和计时信息的python度量库。

yunomi的Python项目详细描述


https://badge.fury.io/py/yunomi.pnghttps://secure.travis-ci.org/dreid/yunomi.png?branch=master

如所示:

It has performance implications, Y U NO MEASURE IT!?

yunomi提供了对应用程序内部行为的洞察,提供了关于代码选定部分的有用统计和度量。 它是Java Metrics library by Coda Hale核心部分的python端口。

停止猜测,开始测量:

$ pip install yunomi

核心功能

计数器

增加和减少值的简单接口。 例如,这可用于测量发送到队列的作业总数,以及队列中挂起(尚未完成)的作业数。 只需在操作开始时增加计数器,在操作完成时减小计数器即可。

仪表

测量事件随时间变化的速率。 有助于跟踪应用程序的某个部分获取请求的频率,以便可以相应地设置资源。 跟踪平均速率(自仪表重置后的总体速率)和仅对过去1、5和15分钟内发生的事件(指数加权移动平均)具有统计显著性的速率。

直方图

测量数据流中值的统计分布。 跟踪最小值、最大值、平均值、标准差等。 它还测量中位数、第75、90、95、98、99和99.9个百分点。 一个示例用例是查看99%的日登录次数,忽略异常值。

计时器

米和直方图的一种有用的组合,使您能够测量代码的一部分被调用的速率和操作持续时间的分布。 例如,您可以看到代码访问数据库的频率以及这些操作需要多长时间。

示例

decorators

使用Yunomi库的最简单和最简单的方法。

计数器

您可以使用count_callsdecorator来计算函数被调用的次数。

>>> fromyunomiimportcounter,count_calls>>> @count_calls... deftest():... pass...>>> foriinxrange(10):... test()...>>> printcounter("test_calls").get_count()10

计时器

您可以使用time_调用decorator来计时函数的执行并从中获取分布数据。

>>> importtime>>> fromyunomiimporttimer,time_calls>>> @time_calls... deftest():... time.sleep(0.1)...>>> foriinxrange(10):... test()...>>> printtimer("test_calls").get_mean()0.100820207596

要求

yunomi没有外部依赖项,运行在pypy和python 2.6、2.7和3.3上。

历史记录

0.3.0(2013-07-27)

  • Python3.3现在是2.6和2.7的附加支持。
  • 装潢师不再吃回值了。
  • 现在可以重置仪表。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我需要做什么来解析bundle-org。日食说唱在eclipse helios中无法解析ui?   json Java JSONSimple解析器   java如何使Hibernate、JBoss和Eclipse在单元测试中协同工作?   java使输出在每个循环中打印一次,而不是每次迭代   Java ArrayList remove()意外结果?   java删除服务器。来自sun应用程序服务器的策略   java在Tycho项目中为非OSGi JUnit测试添加testonly依赖项   java Hibernate TypedQuery在升级到版本5后失败(如果以以下方式结束)   java Mockito ArgumentCaptor不在catch块中捕获argurment   java GWT CheckBoxCell:如何添加更改处理程序?   java如何在不更改hibernatemapping的情况下防止字段被更新   Java中的虚拟TCPsocket   java如何通过我的应用程序在新版本的Androids上以编程方式更改其他应用程序的权限?   java文件被哪个进程锁定(安卓)?   SeleniumWebDriverJava中的按钮单击   基于Java的多线程客户端socket   清除文本字段时出现问题。clear()*JAVA**ANDROID*   安卓为什么会发生JavaJSON异常?