@cryptotaxi247 / netdata-1 / commits / 815668179

Python.d PEP 8 cleanup, modules N-O (#4297)

* python.d/nginx.chart.py PEP 8 cleanup Fixed container literal formatting. * python.d/nginx_plus.chart.py PEP 8 cleanup Fixed formatting of conainer literals. * python.d/nsd.chart.py Fix quoting of strings and formatting of container literals. * python.d/ntpd.chart.py PEP 8 cleanup Fixed formatting of container literals. * python.d/ovpn_status_log.chart.py PEP 8 cleanup Fixed string quoting and formatting of container literals. One instance of a long line that is just over our limit left in because modifying it to not be over the limit results in less readable code. * python.d/ovpn_status_log.chart.py Further PEP 8 cleanup Fix remaining overly long line. Adjacent line modified in the same way to maintain consistency.

Austin S. Hemmelgarn committed Sep 27, 2018 at 07:03 UTC 8156681797d31d2fb38038ccbb4269a6e95f7cca
5 files changed +148 -122
python.d/nginx.chart.py
+15 -11
@@ -26,28 +26,32 @@ CHARTS = {
26 'options': [None, 'nginx Active Connections', 'connections', 'active connections',
27 'nginx.connections', 'line'],
28 'lines': [
29 - ["active"]
30 - ]},
29 + ['active']
30 + ]
31 + },
32 'requests': {
33 'options': [None, 'nginx Requests', 'requests/s', 'requests', 'nginx.requests', 'line'],
34 'lines': [
34 - ["requests", None, 'incremental']
35 - ]},
35 + ['requests', None, 'incremental']
36 + ]
37 + },
38 'connection_status': {
39 'options': [None, 'nginx Active Connections by Status', 'connections', 'status',
40 'nginx.connection_status', 'line'],
41 'lines': [
40 - ["reading"],
41 - ["writing"],
42 - ["waiting", "idle"]
43 - ]},
42 + ['reading'],
43 + ['writing'],
44 + ['waiting', 'idle']
45 + ]
46 + },
47 'connect_rate': {
48 'options': [None, 'nginx Connections Rate', 'connections/s', 'connections rate',
49 'nginx.connect_rate', 'line'],
50 'lines': [
48 - ["accepts", "accepted", "incremental"],
49 - ["handled", None, "incremental"]
50 - ]}
51 + ['accepts', 'accepted', 'incremental'],
52 + ['handled', None, 'incremental']
53 + ]
54 + }
55 }
56
57
python.d/nginx_plus.chart.py
+49 -50
@@ -22,63 +22,71 @@ priority = 60000
22 retries = 60
23
24 # charts order (can be overridden if you want less charts, or different order)
25 -ORDER = ['requests_total', 'requests_current',
26 - 'connections_statistics', 'connections_workers',
27 - 'ssl_handshakes', 'ssl_session_reuses', 'ssl_memory_usage',
28 - 'processes']
25 +ORDER = [
26 + 'requests_total',
27 + 'requests_current',
28 + 'connections_statistics',
29 + 'connections_workers',
30 + 'ssl_handshakes',
31 + 'ssl_session_reuses',
32 + 'ssl_memory_usage',
33 + 'processes'
34 +]
35
36 CHARTS = {
37 'requests_total': {
32 - 'options': [None, 'Requests Total', 'requests/s',
33 - 'requests', 'nginx_plus.requests_total', 'line'],
38 + 'options': [None, 'Requests Total', 'requests/s', 'requests', 'nginx_plus.requests_total', 'line'],
39 'lines': [
40 ['requests_total', 'total', 'incremental']
36 - ]},
41 + ]
42 + },
43 'requests_current': {
38 - 'options': [None, 'Requests Current', 'requests',
39 - 'requests', 'nginx_plus.requests_current', 'line'],
44 + 'options': [None, 'Requests Current', 'requests', 'requests', 'nginx_plus.requests_current', 'line'],
45 'lines': [
46 ['requests_current', 'current']
42 - ]},
47 + ]
48 + },
49 'connections_statistics': {
50 'options': [None, 'Connections Statistics', 'connections/s',
51 'connections', 'nginx_plus.connections_statistics', 'stacked'],
52 'lines': [
53 ['connections_accepted', 'accepted', 'incremental'],
54 ['connections_dropped', 'dropped', 'incremental']
49 - ]},
55 + ]
56 + },
57 'connections_workers': {
58 'options': [None, 'Workers Statistics', 'workers',
59 'connections', 'nginx_plus.connections_workers', 'stacked'],
60 'lines': [
61 ['connections_idle', 'idle'],
62 ['connections_active', 'active']
56 - ]},
63 + ]
64 + },
65 'ssl_handshakes': {
58 - 'options': [None, 'SSL Handshakes', 'handshakes/s',
59 - 'ssl', 'nginx_plus.ssl_handshakes', 'stacked'],
66 + 'options': [None, 'SSL Handshakes', 'handshakes/s', 'ssl', 'nginx_plus.ssl_handshakes', 'stacked'],
67 'lines': [
68 ['ssl_handshakes', 'successful', 'incremental'],
69 ['ssl_handshakes_failed', 'failed', 'incremental']
63 - ]},
70 + ]
71 + },
72 'ssl_session_reuses': {
65 - 'options': [None, 'Session Reuses', 'sessions/s',
66 - 'ssl', 'nginx_plus.ssl_session_reuses', 'line'],
73 + 'options': [None, 'Session Reuses', 'sessions/s', 'ssl', 'nginx_plus.ssl_session_reuses', 'line'],
74 'lines': [
75 ['ssl_session_reuses', 'reused', 'incremental']
69 - ]},
76 + ]
77 + },
78 'ssl_memory_usage': {
71 - 'options': [None, 'Memory Usage', '%',
72 - 'ssl', 'nginx_plus.ssl_memory_usage', 'area'],
79 + 'options': [None, 'Memory Usage', '%', 'ssl', 'nginx_plus.ssl_memory_usage', 'area'],
80 'lines': [
81 ['ssl_memory_usage', 'usage', 'absolute', 1, 100]
75 - ]},
82 + ]
83 + },
84 'processes': {
77 - 'options': [None, 'Processes', 'processes',
78 - 'processes', 'nginx_plus.processes', 'line'],
85 + 'options': [None, 'Processes', 'processes', 'processes', 'nginx_plus.processes', 'line'],
86 'lines': [
87 ['processes_respawned', 'respawned']
81 - ]}
88 + ]
89 + }
90 }
91
92
@@ -87,17 +95,15 @@ def cache_charts(cache):
95 charts = OrderedDict()
96
97 charts['{0}_traffic'.format(cache.name)] = {
90 - 'options': [None, 'Traffic', 'KB', family,
91 - 'nginx_plus.cache_traffic', 'stacked'],
98 + 'options': [None, 'Traffic', 'KB', family, 'nginx_plus.cache_traffic', 'stacked'],
99 'lines': [
100 ['_'.join([cache.name, 'hit_bytes']), 'served', 'absolute', 1, 1024],
101 ['_'.join([cache.name, 'miss_bytes_written']), 'written', 'absolute', 1, 1024],
102 ['_'.join([cache.name, 'miss_bytes']), 'bypass', 'absolute', 1, 1024]
96 - ]
103 + ]
104 }
105 charts['{0}_memory_usage'.format(cache.name)] = {
99 - 'options': [None, 'Memory Usage', '%', family,
100 - 'nginx_plus.cache_memory_usage', 'area'],
106 + 'options': [None, 'Memory Usage', '%', family, 'nginx_plus.cache_memory_usage', 'area'],
107 'lines': [
108 ['_'.join([cache.name, 'memory_usage']), 'usage', 'absolute', 1, 100],
109 ]
@@ -161,8 +167,7 @@ def web_upstream_charts(wu):
167
168 # Requests
169 charts['web_upstream_{name}_requests'.format(name=wu.name)] = {
164 - 'options': [None, 'Peers Requests', 'requests/s', family,
165 - 'nginx_plus.web_upstream_requests', 'line'],
170 + 'options': [None, 'Peers Requests', 'requests/s', family, 'nginx_plus.web_upstream_requests', 'line'],
171 'lines': dimensions('requests', 'incremental')
172 }
173 # Responses Codes
@@ -191,19 +196,16 @@ def web_upstream_charts(wu):
196 }
197 # Connections
198 charts['web_upstream_{name}_connections'.format(name=wu.name)] = {
194 - 'options': [None, 'Peers Connections', 'active', family,
195 - 'nginx_plus.web_upstream_connections', 'line'],
199 + 'options': [None, 'Peers Connections', 'active', family, 'nginx_plus.web_upstream_connections', 'line'],
200 'lines': dimensions('active')
201 }
202 charts['web_upstream_{name}_connections_usage'.format(name=wu.name)] = {
199 - 'options': [None, 'Peers Connections Usage', '%', family,
200 - 'nginx_plus.web_upstream_connections_usage', 'line'],
203 + 'options': [None, 'Peers Connections Usage', '%', family, 'nginx_plus.web_upstream_connections_usage', 'line'],
204 'lines': dimensions('connections_usage', d=100)
205 }
206 # Traffic
207 charts['web_upstream_{0}_all_net'.format(wu.name)] = {
205 - 'options': [None, 'All Peers Traffic', 'kilobits/s', family,
206 - 'nginx_plus.web_upstream_all_net', 'area'],
208 + 'options': [None, 'All Peers Traffic', 'kilobits/s', family, 'nginx_plus.web_upstream_all_net', 'area'],
209 'lines': [
210 ['{0}_received'.format(wu.name), 'received', 'incremental', 1, 1000],
211 ['{0}_sent'.format(wu.name), 'sent', 'incremental', -1, 1000]
@@ -230,30 +232,27 @@ def web_upstream_charts(wu):
232 }
233 # Memory Usage
234 charts['web_upstream_{name}_memory_usage'.format(name=wu.name)] = {
233 - 'options': [None, 'Memory Usage', '%', family,
234 - 'nginx_plus.web_upstream_memory_usage', 'area'],
235 + 'options': [None, 'Memory Usage', '%', family, 'nginx_plus.web_upstream_memory_usage', 'area'],
236 'lines': [
237 ['_'.join([wu.name, 'memory_usage']), 'usage', 'absolute', 1, 100]
238 ]
239 }
240 # State
241 charts['web_upstream_{name}_status'.format(name=wu.name)] = {
241 - 'options': [None, 'Peers Status', 'state', family,
242 - 'nginx_plus.web_upstream_status', 'line'],
242 + 'options': [None, 'Peers Status', 'state', family, 'nginx_plus.web_upstream_status', 'line'],
243 'lines': dimensions('state')
244 }
245 # Downtime
246 charts['web_upstream_{name}_downtime'.format(name=wu.name)] = {
247 - 'options': [None, 'Peers Downtime', 'seconds', family,
248 - 'nginx_plus.web_upstream_peer_downtime', 'line'],
247 + 'options': [None, 'Peers Downtime', 'seconds', family, 'nginx_plus.web_upstream_peer_downtime', 'line'],
248 'lines': dimensions('downtime', d=1000)
249 }
250
251 return charts
252
253
255 -METRICS = dict(
256 - SERVER=[
254 +METRICS = {
255 + 'SERVER': [
256 'processes.respawned',
257 'connections.accepted',
258 'connections.dropped',
@@ -267,7 +266,7 @@ METRICS = dict(
266 'slabs.SSL.pages.free',
267 'slabs.SSL.pages.used'
268 ],
270 - WEB_ZONE=[
269 + 'WEB_ZONE': [
270 'processing',
271 'requests',
272 'responses.1xx',
@@ -279,7 +278,7 @@ METRICS = dict(
278 'received',
279 'sent'
280 ],
282 - WEB_UPSTREAM_PEER=[
281 + 'WEB_UPSTREAM_PEER': [
282 'id',
283 'server',
284 'name',
@@ -298,7 +297,7 @@ METRICS = dict(
297 'received',
298 'downtime'
299 ],
301 - WEB_UPSTREAM_SUMMARY=[
300 + 'WEB_UPSTREAM_SUMMARY': [
301 'responses.1xx',
302 'responses.2xx',
303 'responses.3xx',
@@ -307,13 +306,13 @@ METRICS = dict(
306 'sent',
307 'received'
308 ],
310 - CACHE=[
309 + 'CACHE': [
310 'hit.bytes', # served
311 'miss.bytes_written', # written
312 'miss.bytes' # bypass
313
314 ]
316 -)
315 +}
316
317 BAD_SYMBOLS = re.compile(r'[:/.-]+')
318
python.d/nsd.chart.py
+25 -19
@@ -17,27 +17,29 @@ ORDER = ['queries', 'zones', 'protocol', 'type', 'transfer', 'rcode']
17
18 CHARTS = {
19 'queries': {
20 - 'options': [
21 - None, "queries", 'queries/s', 'queries', 'nsd.queries', 'line'],
20 + 'options': [None, 'queries', 'queries/s', 'queries', 'nsd.queries', 'line'],
21 'lines': [
23 - ['num_queries', 'queries', 'incremental'],]},
22 + ['num_queries', 'queries', 'incremental']
23 + ]
24 + },
25 'zones': {
25 - 'options': [
26 - None, "zones", 'zones', 'zones', 'nsd.zones', 'stacked'],
26 + 'options': [None, 'zones', 'zones', 'zones', 'nsd.zones', 'stacked'],
27 'lines': [
28 ['zone_master', 'master', 'absolute'],
29 - ['zone_slave', 'slave', 'absolute'],]},
29 + ['zone_slave', 'slave', 'absolute']
30 + ]
31 + },
32 'protocol': {
31 - 'options': [
32 - None, "protocol", 'queries/s', 'protocol', 'nsd.protocols', 'stacked'],
33 + 'options': [None, 'protocol', 'queries/s', 'protocol', 'nsd.protocols', 'stacked'],
34 'lines': [
35 ['num_udp', 'udp', 'incremental'],
36 ['num_udp6', 'udp6', 'incremental'],
37 ['num_tcp', 'tcp', 'incremental'],
37 - ['num_tcp6', 'tcp6', 'incremental'],]},
38 + ['num_tcp6', 'tcp6', 'incremental']
39 + ]
40 + },
41 'type': {
39 - 'options': [
40 - None, "query type", 'queries/s', 'query type', 'nsd.type', 'stacked'],
42 + 'options': [None, 'query type', 'queries/s', 'query type', 'nsd.type', 'stacked'],
43 'lines': [
44 ['num_type_A', 'A', 'incremental'],
45 ['num_type_NS', 'NS', 'incremental'],
@@ -50,16 +52,18 @@ CHARTS = {
52 ['num_type_TXT', 'TXT', 'incremental'],
53 ['num_type_AAAA', 'AAAA', 'incremental'],
54 ['num_type_SRV', 'SRV', 'incremental'],
53 - ['num_type_TYPE255', 'ANY', 'incremental'],]},
55 + ['num_type_TYPE255', 'ANY', 'incremental']
56 + ]
57 + },
58 'transfer': {
55 - 'options': [
56 - None, "transfer", 'queries/s', 'transfer', 'nsd.transfer', 'stacked'],
59 + 'options': [None, 'transfer', 'queries/s', 'transfer', 'nsd.transfer', 'stacked'],
60 'lines': [
61 ['num_opcode_NOTIFY', 'NOTIFY', 'incremental'],
59 - ['num_type_TYPE252', 'AXFR', 'incremental'],]},
62 + ['num_type_TYPE252', 'AXFR', 'incremental']
63 + ]
64 + },
65 'rcode': {
61 - 'options': [
62 - None, "return code", 'queries/s', 'return code', 'nsd.rcode', 'stacked'],
66 + 'options': [None, 'return code', 'queries/s', 'return code', 'nsd.rcode', 'stacked'],
67 'lines': [
68 ['num_rcode_NOERROR', 'NOERROR', 'incremental'],
69 ['num_rcode_FORMERR', 'FORMERR', 'incremental'],
@@ -67,7 +71,9 @@ CHARTS = {
71 ['num_rcode_NXDOMAIN', 'NXDOMAIN', 'incremental'],
72 ['num_rcode_NOTIMP', 'NOTIMP', 'incremental'],
73 ['num_rcode_REFUSED', 'REFUSED', 'incremental'],
70 - ['num_rcode_YXDOMAIN', 'YXDOMAIN', 'incremental'],]}
74 + ['num_rcode_YXDOMAIN', 'YXDOMAIN', 'incremental']
75 + ]
76 + }
77 }
78
79
@@ -75,7 +81,7 @@ class Service(ExecutableService):
81 def __init__(self, configuration=None, name=None):
82 ExecutableService.__init__(
83 self, configuration=configuration, name=name)
78 - self.command = "nsd-control stats_noreset"
84 + self.command = 'nsd-control stats_noreset'
85 self.order = ORDER
86 self.definitions = CHARTS
87 self.regex = re.compile(r'([A-Za-z0-9.]+)=(\d+)')
python.d/ntpd.chart.py
+44 -35
@@ -57,108 +57,117 @@ CHARTS = {
57 'options': [None, 'Combined offset of server relative to this host', 'ms', 'system', 'ntpd.sys_offset', 'area'],
58 'lines': [
59 ['offset', 'offset', 'absolute', 1, PRECISION]
60 - ]},
60 + ]
61 + },
62 'sys_jitter': {
63 'options': [None, 'Combined system jitter and clock jitter', 'ms', 'system', 'ntpd.sys_jitter', 'line'],
64 'lines': [
65 ['sys_jitter', 'system', 'absolute', 1, PRECISION],
66 ['clk_jitter', 'clock', 'absolute', 1, PRECISION]
66 - ]},
67 + ]
68 + },
69 'sys_frequency': {
70 'options': [None, 'Frequency offset relative to hardware clock', 'ppm', 'system', 'ntpd.sys_frequency', 'area'],
71 'lines': [
72 ['frequency', 'frequency', 'absolute', 1, PRECISION]
71 - ]},
73 + ]
74 + },
75 'sys_wander': {
76 'options': [None, 'Clock frequency wander', 'ppm', 'system', 'ntpd.sys_wander', 'area'],
77 'lines': [
78 ['clk_wander', 'clock', 'absolute', 1, PRECISION]
76 - ]},
79 + ]
80 + },
81 'sys_rootdelay': {
82 'options': [None, 'Total roundtrip delay to the primary reference clock', 'ms', 'system',
83 'ntpd.sys_rootdelay', 'area'],
84 'lines': [
85 ['rootdelay', 'delay', 'absolute', 1, PRECISION]
82 - ]},
86 + ]
87 + },
88 'sys_rootdisp': {
89 'options': [None, 'Total root dispersion to the primary reference clock', 'ms', 'system',
90 'ntpd.sys_rootdisp', 'area'],
91 'lines': [
92 ['rootdisp', 'dispersion', 'absolute', 1, PRECISION]
88 - ]},
93 + ]
94 + },
95 'sys_stratum': {
96 'options': [None, 'Stratum (1-15)', 'stratum', 'system', 'ntpd.sys_stratum', 'line'],
97 'lines': [
98 ['stratum', 'stratum', 'absolute', 1, PRECISION]
93 - ]},
99 + ]
100 + },
101 'sys_tc': {
102 'options': [None, 'Time constant and poll exponent (3-17)', 'log2 s', 'system', 'ntpd.sys_tc', 'line'],
103 'lines': [
104 ['tc', 'current', 'absolute', 1, PRECISION],
105 ['mintc', 'minimum', 'absolute', 1, PRECISION]
99 - ]},
106 + ]
107 + },
108 'sys_precision': {
109 'options': [None, 'Precision', 'log2 s', 'system', 'ntpd.sys_precision', 'line'],
110 'lines': [
111 ['precision', 'precision', 'absolute', 1, PRECISION]
104 - ]}
112 + ]
113 + }
114 }
115
116 PEER_CHARTS = {
117 'peer_offset': {
118 'options': [None, 'Filter offset', 'ms', 'peers', 'ntpd.peer_offset', 'line'],
110 - 'lines': [
111 - ]},
119 + 'lines': []
120 + },
121 'peer_delay': {
122 'options': [None, 'Filter delay', 'ms', 'peers', 'ntpd.peer_delay', 'line'],
114 - 'lines': [
115 - ]},
123 + 'lines': []
124 + },
125 'peer_dispersion': {
126 'options': [None, 'Filter dispersion', 'ms', 'peers', 'ntpd.peer_dispersion', 'line'],
118 - 'lines': [
119 - ]},
127 + 'lines': []
128 + },
129 'peer_jitter': {
130 'options': [None, 'Filter jitter', 'ms', 'peers', 'ntpd.peer_jitter', 'line'],
122 - 'lines': [
123 - ]},
131 + 'lines': []
132 + },
133 'peer_xleave': {
134 'options': [None, 'Interleave delay', 'ms', 'peers', 'ntpd.peer_xleave', 'line'],
126 - 'lines': [
127 - ]},
135 + 'lines': []
136 + },
137 'peer_rootdelay': {
138 'options': [None, 'Total roundtrip delay to the primary reference clock', 'ms', 'peers',
139 'ntpd.peer_rootdelay', 'line'],
131 - 'lines': [
132 - ]},
140 + 'lines': []
141 + },
142 'peer_rootdisp': {
143 'options': [None, 'Total root dispersion to the primary reference clock', 'ms', 'peers',
144 'ntpd.peer_rootdisp', 'line'],
136 - 'lines': [
137 - ]},
145 + 'lines': []
146 + },
147 'peer_stratum': {
148 'options': [None, 'Stratum (1-15)', 'stratum', 'peers', 'ntpd.peer_stratum', 'line'],
140 - 'lines': [
141 - ]},
149 + 'lines': []
150 + },
151 'peer_hmode': {
152 'options': [None, 'Host mode (1-6)', 'hmode', 'peers', 'ntpd.peer_hmode', 'line'],
144 - 'lines': [
145 - ]},
153 + 'lines': []
154 + },
155 'peer_pmode': {
156 'options': [None, 'Peer mode (1-5)', 'pmode', 'peers', 'ntpd.peer_pmode', 'line'],
148 - 'lines': [
149 - ]},
157 + 'lines': []
158 + },
159 'peer_hpoll': {
160 'options': [None, 'Host poll exponent', 'log2 s', 'peers', 'ntpd.peer_hpoll', 'line'],
152 - 'lines': [
153 - ]},
161 + 'lines': []
162 + },
163 'peer_ppoll': {
164 'options': [None, 'Peer poll exponent', 'log2 s', 'peers', 'ntpd.peer_ppoll', 'line'],
156 - 'lines': [
157 - ]},
165 + 'lines': []
166 + },
167 'peer_precision': {
168 'options': [None, 'Precision', 'log2 s', 'peers', 'ntpd.peer_precision', 'line'],
160 - 'lines': [
161 - ]}
169 + 'lines': []
170 + }
171 }
172
173
python.d/ovpn_status_log.chart.py
+15 -7
@@ -17,15 +17,19 @@ CHARTS = {
17 'options': [None, 'OpenVPN Active Users', 'active users', 'users', 'openvpn_status.users', 'line'],
18 'lines': [
19 ['users', None, 'absolute'],
20 - ]},
20 + ]
21 + },
22 'traffic': {
23 'options': [None, 'OpenVPN Traffic', 'KB/s', 'traffic', 'openvpn_status.traffic', 'area'],
24 'lines': [
25 ['bytes_in', 'in', 'incremental', 1, 1 << 10], ['bytes_out', 'out', 'incremental', 1, -1 << 10]
25 - ]},
26 -
26 + ]
27 + }
28 }
29
30 +TLS_REGEX = r_compile(r'(?:[0-9a-f:]+|(?:\d{1,3}(?:\.\d{1,3}){3}(?::\d+)?)) (?P<bytes_in>\d+) (?P<bytes_out>\d+)')
31 +STATIC_KEY_REGEX = r_compile(r'TCP/[A-Z]+ (?P<direction>(?:read|write)) bytes,(?P<bytes>\d+)')
32 +
33
34 class Service(SimpleService):
35 def __init__(self, configuration=None, name=None):
@@ -33,8 +37,10 @@ class Service(SimpleService):
37 self.order = ORDER
38 self.definitions = CHARTS
39 self.log_path = self.configuration.get('log_path')
36 - self.regex = dict(tls=r_compile(r'(?:[0-9a-f:]+|(?:\d{1,3}(?:\.\d{1,3}){3}(?::\d+)?)) (?P<bytes_in>\d+) (?P<bytes_out>\d+)'),
37 - static_key=r_compile(r'TCP/[A-Z]+ (?P<direction>(?:read|write)) bytes,(?P<bytes>\d+)'))
40 + self.regex = {
41 + 'tls': TLS_REGEX,
42 + 'static_key': STATIC_KEY_REGEX
43 + }
44
45 def check(self):
46 if not (self.log_path and isinstance(self.log_path, str)):
@@ -58,7 +64,7 @@ class Service(SimpleService):
64 break
65 if found:
66 return True
61 - self.error("Failed to parse ovpenvpn log file")
67 + self.error('Failed to parse ovpenvpn log file')
68 return False
69
70 def _get_raw_data(self):
@@ -109,7 +115,9 @@ class Service(SimpleService):
115 data = dict(users=0, bytes_in=0, bytes_out=0)
116 for row in raw_data:
117 columns = row.split(',') if ',' in row else row.split()
112 - if 'UNDEF' in columns: continue # see https://openvpn.net/archive/openvpn-users/2004-08/msg00116.html
118 + if 'UNDEF' in columns:
119 + # see https://openvpn.net/archive/openvpn-users/2004-08/msg00116.html
120 + continue
121
122 match = self.regex['tls'].search(' '.join(columns))
123 if match: