一种快速的、仅附加的存储层,用于存储随时间变化的数字数据

gauged的Python项目详细描述


##测量值

[![测试][travis][travis构建]

用于提高速度和内存效率的nd算法。
-有效的范围查询和任意大小的汇总,可配置的分辨率为1秒。
-使用**mysql**、**postgresql**或**sqlite**作为后端。
-在Mac、Linux和Windows上运行

安装

**pip**


``` bash
$pip install gauged
````


python 2.7.x(cpython或pypy pypy)是必需的。



<




pip****

pip**




``` bash




`````` bash
=>$pip-pip instap-install-instap-install-gaugged

````br/>writer.add({"请求":1,"响应时间":0。45,'内存使用量':145.6})
writer.add({‘请求':1,'响应时间':0.25,'CPU使用量':148.3,'API请求':3})
`````



reading阅读

``python
```````````
`;计算请求总数
requests=gaugged.aggregatgatge('requests,gaugged.sum)


/>右equests=gauged.aggregate('requests',gauged.sum,start=datetime(2014,1,1),
end=datetime(2014,1,8))


=gauged.value('内存使用')
```

plotting(使用[matplotlib][matplotlib])

```python
import pylab
series=gauged.aggregate峈series('请求',gauged.sum,interval=gauged.day,
start=-gauged.week)
pylab.plot(series.dates,series.values,label='过去一周内每天的请求')
pylab.show()
```

文档

请参阅[文档][文档]或[技术概述][技术概述]。

测试

现有的(和空的)数据库,然后运行

``bash
$make check
````

一旦添加I/O,您的里程数就会有所不同。

**python benchmark.py——编号1000000——365天**

````
写入sqlite://(块大小=86400000,分辨率=1000)
在365天内将1M测量值扩展到键"foobar"
在5.388秒内写入1M测量值(185.6K/s)(rss:12.7MB)
仪表数据使用7.6MB(每个测量值8B在0.024s(读取41.9mm测量值/秒)(rss:12.8mb)中
min()在0.023s(读取43.4m测量值/秒)(rss:12.8mb)中
min()在0.023s(读取42.7 m测量值/秒)(rss:12.8mb)中
max()在0.024s(读取42.1 m测量值/秒)(rss:12.8mb)中
min()在0.028s(读取36.1 m测量值/秒)(rss:12.8mb)中
max()在0.024s(读取41.9mm测量值/秒)(rss(读取41.9mm测量值/秒)(rss)(rss:S(读20.1M测量/秒)(rss:12.8MB)
中值(读取16.8M测量/秒)(rss:27.7MB)
````

**python benchmark.py——数字100000000——365天**

````
写入sqlite://(块大小=86400000,分辨率=1000)
在365天内将100米测量值扩展到键"foobar"
在405.925秒内写入100米测量值onds(246.4k/s)(rss:21.7mb)
仪表数据在0.818s内使用502.2mb(每次测量5.26601144b)
最小值(读取122.3m测量值/s)(rss:21.7mb)
max()在0.79s内(读取126.6M测量值/秒)(rss:21.7MB)
sum()在0.785s内(读取127.4M测量值/秒)(rss:21.7MB)
count()在0.766s内(读取130.5M测量值/秒)(rss:21.7MB)
mean()在0.891s内(读取112.3M测量值/秒)(rss:21.7MB)
stddev()在1.697s内(读取58.9M测量值NTS/S)(rss:21.7MB)
中位数(读取28.2M测量/秒)(rss:1007.9MB)
```

软件和相关文档文件(即"软件"),无限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再授权和/或出售软件副本的权利,以及允许软件战争的人员在满足以下条件的前提下,我们将提供该软件:


上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

ED,包括但不限于
适销性、特定用途适用性和
不侵权的保证。在任何情况下,作者或版权所有人都不对任何索赔、损害或其他责任负责,无论是在合同、侵权或其他诉讼中,由软件或软件的使用或其他交易引起的、由软件引起的或与之相关的。TTPS://api.travis-ci.org/chriso/gauged.png?branch=master
[travis builds]:https://travis ci.org/chriso/gauged
[technical overview]:https://github.com/chriso/gauged/blob/master/docs/technical overview.md
[documentation]:https://github.com/chriso/gauged/blob/master/docs/documentation.md
[matplotlib]:http://matplotlib.org/

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

推荐PyPI第三方库


热门话题
java Cassandra复制因子大于节点数   java J2EE JTA事务回滚不适用于OSE Glassfish 4.0(Build 89)   java spring安全预认证用户登录   org的java类文件。反应流。从RxJava编译示例时未找到Publisher?   java在使用dataFormat作为POJO通过Camel调用Web服务时无法设置SOAP标头   Javafx类的java静态实例   java如何防止一个部件在关闭时覆盖另一个部件的位置   sql server无法从我的java代码连接到数据库   java在JList(Swing)中显示带有的ArrayList   从Java中的CXF服务获取WSAddressing数据   使用资产文件夹进行java简单json解析(本地)   java LDAPException未绑定的无效凭据   JavaJSFspring部署到weblogic   JAVA中字符数组中的特定元素排列?   如果脚本位于不同的目录中,则ant不会使用exec标记运行Javashell脚本