1 # -*- coding: utf-8 -*-
2 # Description: IPFS netdata python.d module
3 # Author: Pawel Krupa (paulfantom)
5 from base import UrlService
8 # default module values (can be overridden per job in `config`)
13 # default job configuration (overridden by python.d.plugin)
14 # config = {'local': {
15 # 'update_every': update_every,
17 # 'priority': priority,
18 # 'url': 'http://localhost:5001/api/v0/swarm/peers'
21 # charts order (can be overridden if you want less charts, or different order)
26 'options': [None, 'IPFS Peers', 'peers', 'Peers', 'ipfs.peers', 'line'],
28 ["peers", None, 'absolute']
33 class Service(UrlService):
34 def __init__(self, configuration=None, name=None):
35 UrlService.__init__(self, configuration=configuration, name=name)
36 if len(self.url) == 0:
37 self.url = "http://localhost:5001/api/v0/swarm/peers"
39 self.definitions = CHARTS
43 Format data received from http request
47 raw = self._get_raw_data()
48 except AttributeError:
52 parsed = json.loads(raw)
53 peers = len(parsed['Strings'])
57 return {'peers': peers}