opentsdb的python客户端,它为tcp通信创建单独的线程。

potsdb的Python项目详细描述


potsdb
==


python客户端到opentsdb


这是在考虑到长时间运行的父程序的情况下设计的,在父程序中,发送度量值是发生在边上的事情。
实现时,将度量值“put”消息发送到时序数据库api不会阻塞调用应用程序。这是通过创建一个后台工作线程来实现的,该线程从队列中取出度量,然后在tcp套接字上将它们发送到主机。client.log方法只需设置度量并将其放在队列上,然后返回。

这可能会因超时错误而失败。但是,如果后台线程遇到了套接字通信问题,如超时(在发送度量循环中),那么它将一直默默地尝试重新连接。

没有足够的时间正确发送度量。

TCP上发送度量的速率限制默认设置为每秒100个度量。这可以在实例化时覆盖。


installation
===
克隆此repo,然后
`````
cd potsdb
python setup.py install
`````
`````
pip install potsdb
````

==
````
import potsdb

端口默认为4242:
metrics=potsdb.client('hostname.local')
所有选项:
metrics=potsdb.client('hostname.local',port=4242,qsize=1000,host_tag=true,mps=100,check_host=true)

qsize:队列的最大大小。注意:如果队列达到qsize,将删除旧的度量。0=无限制。默认值为100k
默认值为0(不受限制)
check_u host:更改为false以跳过启动连接检查

bare minimum是metric name,metric value
metrics.send('test.metric2',100)
还可以指定标记
metrics.send('test.metric5',100,extratag1='tagvalue',extratag2='tagvalue')
主机标记将自动设置,但是可以被覆盖
metrics.send('test.metric6',34,host='app1.local')

当前贡献者:

1。亚历克斯·夏普(alex.sharp@orionvm.com),他最初开发了这个项目
2。chris mcclymont(chris.mcclymont@orionvm.com),当前的开发和维护人员
3。山姆马克(http://linkedin.com/in/samuelmarks)
4.你!欢迎提出请求和评论。

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

推荐PyPI第三方库


热门话题
java为什么会出现这些错误?表达式的非法开始   使用HttpUrlConnection的java测试URL仅适用于前面的www   在大数据集上使用kmeans的java堆外内存   查找Java RandomAccessFile如何以字符形式读取第n个字节   java Android从BroadcastReceiver获取标题和描述   java使用构造函数参数模拟嵌套类并测试方法   正在将Azure Blob项强制转换为Java文件对象   java并行运行testNG套件   java程序在运行时似乎没有进入   贬低Java规则引擎的优点和缺点   文本区域中的java中心文本   java JPA从多个表中选择错误   类Java问题使用类加载器重新加载代码   java如何在Spring非管理类上使用@Value   java(关闭)Gradle导入VS代码失败   java arraylist拆分(“空白”)并计算字数   Android/Java如何在单独的*中调用函数。java文件?   具有基本身份验证的java Apache Camel RSS模块   java为什么程序在出现溢出或下溢时不抛出异常