Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

ATN atn dbot metrics package

Project description

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()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for dbot-metrics, version 0.1.5
Filename, size File type Python version Upload date Hashes
Filename, size dbot_metrics-0.1.5.tar.gz (6.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page