better line formatting
lgz committed
Dec 24, 2016 at 00:33 UTC
59e786a7c5e960659d15d12646885064dd1e0bd7
1 file changed
+16
-6
python.d/isc_dhcpd.chart.py
+16
-6
@@ -47,8 +47,14 @@ class Service(SimpleService):
47
48
# Creating dynamic charts
49
self.order = ['parse_time', 'utilization']
50
- self.definitions = {'utilization': {'options': [None, 'Pools utilization', 'used %', 'Utulization', 'isc_dhcpd.util', 'line'], 'lines': []},
51
- 'parse_time': {'options': [None, 'Parse time', 'ms', 'Parse statistics', 'isc_dhcpd.parse', 'line'], 'lines': [['ptime', 'time', 'absolute']]}}
50
+ self.definitions = {'utilization':
51
+ {'options':
52
+ [None, 'Pools utilization', 'used %', 'Utulization', 'isc_dhcpd.util', 'line'],
53
+ 'lines': []},
54
+ 'parse_time':
55
+ {'options':
56
+ [None, 'Parse time', 'ms', 'Parse statistics', 'isc_dhcpd.parse', 'line'],
57
+ 'lines': [['ptime', 'time', 'absolute']]}}
58
for pool in self.pools:
59
self.definitions['utilization']['lines'].append([''.join(['ut_', pool]), pool, 'absolute'])
60
self.order.append(''.join(['leases_', pool]))
@@ -101,19 +107,23 @@ class Service(SimpleService):
107
return None
108
109
# Result: {ipaddress: end lease time, ...}
104
- all_leases = dict(zip([raw_leases[0][_] for _ in range(0, raw_leases[1], 2)], [raw_leases[0][_] for _ in range(1, raw_leases[1], 2)]))
110
+ all_leases = dict(zip([raw_leases[0][_] for _ in range(0, raw_leases[1], 2)],
111
+ [raw_leases[0][_] for _ in range(1, raw_leases[1], 2)]))
112
113
# Result: [active binding, active binding....]. (Expire time (ends date;) - current time > 0)
114
active_leases = [k for k, v in all_leases.items() if is_bind_active(all_leases[k])]
115
116
# Result: {pool: number of active bindings in pool, ...}
110
- pools_count = {pool: len([lease for lease in active_leases if is_address_in(lease, pool)]) for pool in self.pools}
117
+ pools_count = {pool: len([lease for lease in active_leases if is_address_in(lease, pool)])
118
+ for pool in self.pools}
119
120
# Result: {pool: number of host ip addresses in pool, ...}
113
- pools_max = {pool: (2 ** (32 - int(pool.split('/')[1])) - 2) for pool in self.pools}
121
+ pools_max = {pool: (2 ** (32 - int(pool.split('/')[1])) - 2)
122
+ for pool in self.pools}
123
124
# Result: {pool: % utilization, ....} (percent)
116
- pools_util = {pool:int(round(float(pools_count[pool]) / pools_max[pool] * 100, 0)) for pool in self.pools}
125
+ pools_util = {pool:int(round(float(pools_count[pool]) / pools_max[pool] * 100, 0))
126
+ for pool in self.pools}
127
128
# Bulding dicts to send to netdata
129
final_count = {''.join(['le_', k]): v for k, v in pools_count.items()}