@cryptotaxi247 / netdata-1 / commits / 7bf63905a

fix tps decode, add memory usage chart (#11797)

Co-authored-by: Ilya Mashchenko <ilya@netdata.cloud>

neotf committed Jan 10, 2022 at 17:09 UTC 7bf63905a80d7704c8cdc3bafc2af2c1d89514b1
1 file changed +19 -2
collectors/python.d.plugin/spigotmc/spigotmc.chart.py
+19 -2
@@ -22,6 +22,7 @@ COMMAND_ONLINE = 'online'
22
23 ORDER = [
24 'tps',
25 + 'mem',
26 'users',
27 ]
28
@@ -39,15 +40,27 @@ CHARTS = {
40 'lines': [
41 ['users', 'Users', 'absolute', 1, 1]
42 ]
43 + },
44 + 'mem': {
45 + 'options': [None, 'Minecraft Memory Usage', 'MiB', 'spigotmc', 'spigotmc.mem', 'line'],
46 + 'lines': [
47 + ['mem_used', 'used', 'absolute', 1, 1],
48 + ['mem_alloc', 'allocated', 'absolute', 1, 1],
49 + ['mem_max', 'max', 'absolute', 1, 1]
50 + ]
51 }
52 }
53
54 _TPS_REGEX = re.compile(
55 + # Examples:
56 + # §6TPS from last 1m, 5m, 15m: §a*20.0, §a*20.0, §a*20.0
57 + # §6Current Memory Usage: §a936/65536 mb (Max: 65536 mb)
58 r'^.*: .*?' # Message lead-in
59 r'(\d{1,2}.\d+), .*?' # 1-minute TPS value
60 r'(\d{1,2}.\d+), .*?' # 5-minute TPS value
49 - r'(\d{1,2}\.\d+).*$', # 15-minute TPS value
50 - re.X
61 + r'(\d{1,2}\.\d+).*?' # 15-minute TPS value
62 + r'(\s.*?(\d+)\/(\d+).*?: (\d+).*)?', # Current Memory Usage / Total Memory (Max Memory)
63 + re.MULTILINE
64 )
65 _LIST_REGEX = re.compile(
66 # Examples:
@@ -126,6 +139,10 @@ class Service(SimpleService):
139 data['tps1'] = int(float(match.group(1)) * PRECISION)
140 data['tps5'] = int(float(match.group(2)) * PRECISION)
141 data['tps15'] = int(float(match.group(3)) * PRECISION)
142 + if match.group(4):
143 + data['mem_used'] = int(match.group(5))
144 + data['mem_alloc'] = int(match.group(6))
145 + data['mem_max'] = int(match.group(7))
146 else:
147 self.error('Unable to process TPS values.')
148 if not raw: