Skip to main content

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)

Source distribution for dbot-metrics 0.1.5
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

Release history Release notifications | RSS feed

This release

0.1.5 This release

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.4

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page