DBot-server metrics
The metrics client for dbot-server.
It supports collecting and transporting metrics for each dbot-server.
- Currently we have some inner output-plugins, and more, you can define your own ouput-plugins.
- Output-plugins can work at the same time, but we recommand only one.
- Also the input metric-plugin can be defined by yourself.
- Only you need to do is implementing the Plugin-Interface and configuring the file
collector.conf.
Installation
pip install dbot_metrics
If you used default collector.conf file from system, you should copy it to /etc
Dependencies
Install leveldb if you want to use the recommand output-plugin leveldb-client
pip install leveldb
Install influxdb-python first if you want to use the inner output-plugin influxdb-client.
$ sudo apt-get install python-influxdb
Get more information, see https://github.com/influxdata/influxdb-python.
Install tinydb if you want to use the inner output-plugin tinydb-client.
pip install tinydb
Install unqlite if you want to use output-plugin unqlite-client
pip install unqlite
Documentation
See https://github.com/ATNIO/AI_market_plan/wiki/metric-heartbeat.
Interface
Metrics support query interface, it receive a json-type request parameter like this:
{ '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'}]}
and the response format is like this:
[ {
'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'}
}
]
}
]
Examples
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()
Release files for dbot-metrics 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dbot_metrics-0.1.5.tar.gz | 6.4 kB | Details |
Release files / dbot_metrics-0.1.5.tar.gz
| Download URL | dbot_metrics-0.1.5.tar.gz |
|---|---|
| Size | 6.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b4350c60fd9cc81a9087bdc6a72fe0ad9166a33cf6f5bd624973f3534b52b029
|
|
BLAKE2b-256 checksum How to use checksums |
d2ba73e0247266189706307da24df5f75ca99eedc983ca704cefd25b2d4ef6f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/18.5 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.10
|