ATN ATN DBOT度量包

dbot-metrics的Python项目详细描述


dbot服务器指标

dbot服务器的metrics客户端。

它支持收集和传输每个dbot服务器的度量。

  • 目前我们有一些内部输出插件,更多的,你可以定义你自己的输出插件。
  • 输出插件可以同时工作,但我们建议只有一个。
  • 输入度量插件也可以自己定义。
  • 只需要实现插件接口并配置文件collector.conf

安装

pip install dbot_metrics

如果使用系统中的默认collector.conf文件,则应将其复制到/etc

依赖关系

如果要使用建议的输出插件leveldb client,请安装leveldb

pip install leveldb

如果要使用内部输出插件infloxdb client,请先安装infloxdb python。

$ sudo apt-get install python-influxdb

获取更多信息,请参见https://github.com/influxdata/influxdb-python

如果要使用内部输出插件tinydb client,请安装tinydb。

pip install tinydb

如果要使用输出插件unqlite client,请安装unqlite

pip install unqlite

文档

https://github.com/ATNIO/AI_market_plan/wiki/metric-heartbeat

接口

metrics支持查询接口,它接收一个json类型的请求参数,如下所示:

{ 'range': { 'from': 1532023625, 'to': 1532025313 },
  'targets': [{'table':'student', 'type':'all', 'sentence':''},
              {'table':'teacher', 'type':'sql', 'sentence': 'select * from teacher'},
              {'table':'others', 'type':'columns', 'sentence': 'age|name|no'}]}

响应格式如下:

[ {
    'name': 'influxdb',
    'content':[ {
                  'time':1532023688,
                  'tags':{'name':'John', 'No':10023},
                  'fields': {'age': 23, 'gender': 'male'} 
                },
                {
                  'time':1532023798,
                  'tags':{'name':'Tom', 'No':10024},
                  'fields': {'age': 25, 'gender': 'male'}
                }
              ]
   }
]

示例

from dbot_metrics import DBotMetricsCollector
# DBotApiMetric is a special metric in dbot_service_metric defined by yourself
from dbot_service_metric import DBotApiMetric

DBotMetricsCollector().Start("./collector.conf")
m = DBotApiMetric()
DBotMetricsCollector().RegisterMetrics(m)
m.EnableDetailRecord(False)

apiinfo = m.CallBegin("/api/dbot_server/api_call_test", "user")
# ... ... processing
m.CallEnd(apiinfo, 0)

DBotMetricsCollector().Stop()

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

推荐PyPI第三方库


热门话题
并行处理java。util。同时发生的叉子在游泳池里。常见的并行性准则,用于选择正确的并行度大小   java如何将空白字符追加到指定长度?   安卓应用程序中出现错误,SSLHandshakeException,找不到证书路径的信任锚点   java如何使用JUnit Mockito验证检查方法是否未被调用   java如何使用不同的@RequestMapping解析多个控制器中的静态页面   Selenium中的javascript需要验证搜索结果   访问数据库SQLiteopenHelper方法时java应用程序崩溃(nullpointerexception)   在二叉树中验证最小堆时出现java空指针异常   Java 7的SSL连接失败   java用RestEasyWebTarget替换ProxyFactory不起作用   在Java应用程序中单击“否”按钮后,数组程序冻结(无响应)   数组中的前缀Java初学者前进和   Java HTML解析器,包括脚本标记和LineNumberReader   在java中为长类型数字加前导零   正则表达式无法映射正则表达式java。lang.IllegalArgumentException:模式段中捕获组的数量