commit 4f6198094cf4134179d1f9c9fa8f79759a27c87e
[project/luci.git] / applications / luci-statistics / luasrc / statistics / rrdtool / definitions.lua
1 module("luci.statistics.rrdtool.definitions", package.seeall)
2
3 require("luci.util")
4 require("luci.fs")
5
6
7 Instance = luci.util.class()
8
9 function Instance.__init__( self, ... )
10
11         -- used color palette
12         self.palette = {
13                 Canvas          = "FFFFFF",
14                 FullRed         = "FF0000",
15                 FullGreen       = "00E000",
16                 FullBlue        = "0000FF",
17                 FullYellow      = "F0A000",
18                 FullCyan        = "00A0FF",
19                 FullMagenta     = "A000FF",
20                 HalfRed         = "F7B7B7",
21                 HalfGreen       = "B7EFB7",
22                 HalfBlue        = "B7B7F7",
23                 HalfYellow      = "F3DFB7",
24                 HalfCyan        = "B7DFF7",
25                 HalfMagenta     = "DFB7F7",
26                 HalfBlueGreen   = "89B3C9"
27         }
28
29         -- plotting arguments for each defined datasource
30         self.definitions = {
31                 apache_bytes = {
32                         "DEF:min_raw={file}:count:MIN",
33                         "DEF:avg_raw={file}:count:AVERAGE",
34                         "DEF:max_raw={file}:count:MAX",
35                         "CDEF:min=min_raw,8,*",
36                         "CDEF:avg=avg_raw,8,*",
37                         "CDEF:max=max_raw,8,*",
38                         "CDEF:mytime=avg_raw,TIME,TIME,IF",
39                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
40                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
41                         "CDEF:avg_sample=avg_raw,UN,0,avg_raw,IF,sample_len,*",
42                         "CDEF:avg_sum=PREV,UN,0,PREV,IF,avg_sample,+",
43                         "AREA:avg#" .. self.palette.HalfBlue,
44                         "LINE1:avg#" .. self.palette.FullBlue .. ":Bit/s",
45                         "GPRINT:min:MIN:%5.1lf%s Min,",
46                         "GPRINT:avg:AVERAGE:%5.1lf%s Avg,",
47                         "GPRINT:max:MAX:%5.1lf%s Max,",
48                         "GPRINT:avg:LAST:%5.1lf%s Last\\l",
49                         "GPRINT:avg_sum:LAST:(ca. %5.1lf%sB Total)"
50                 },
51
52                 apache_requests = {
53                         "DEF:min={file}:count:MIN",
54                         "DEF:avg={file}:count:AVERAGE",
55                         "DEF:max={file}:count:MAX",
56                         "AREA:max#" .. self.palette.HalfBlue,
57                         "AREA:min#" .. self.palette.Canvas,
58                         "LINE1:avg#" .. self.palette.FullBlue .. ":Requests/s",
59                         "GPRINT:min:MIN:%6.2lf Min,",
60                         "GPRINT:avg:AVERAGE:%6.2lf Avg,",
61                         "GPRINT:max:MAX:%6.2lf Max,",
62                         "GPRINT:avg:LAST:%6.2lf Last\\l"
63                 },
64
65                 apache_scoreboard = {
66                         "DEF:min={file}:count:MIN",
67                         "DEF:avg={file}:count:AVERAGE",
68                         "DEF:max={file}:count:MAX",
69                         "AREA:max#" .. self.palette.HalfBlue,
70                         "AREA:min#" .. self.palette.Canvas,
71                         "LINE1:avg#" .. self.palette.FullBlue .. ":Processes",
72                         "GPRINT:min:MIN:%6.2lf Min,",
73                         "GPRINT:avg:AVERAGE:%6.2lf Avg,",
74                         "GPRINT:max:MAX:%6.2lf Max,",
75                         "GPRINT:avg:LAST:%6.2lf Last\\l"
76                 },
77
78                 bitrate = {
79                         "-v", "Bits/s",
80                         "DEF:avg={file}:value:AVERAGE",
81                         "DEF:min={file}:value:MIN",
82                         "DEF:max={file}:value:MAX",
83                         "AREA:max#" .. self.palette.HalfBlue,
84                         "AREA:min#" .. self.palette.Canvas,
85                         "LINE1:avg#" .. self.palette.FullBlue .. ":Bits/s",
86                         "GPRINT:min:MIN:%5.1lf%s Min,",
87                         "GPRINT:avg:AVERAGE:%5.1lf%s Average,",
88                         "GPRINT:max:MAX:%5.1lf%s Max,",
89                         "GPRINT:avg:LAST:%5.1lf%s Last\\l"
90                 },
91
92                 charge = {
93                         "-v", "Ah",
94                         "DEF:avg={file}:value:AVERAGE",
95                         "DEF:min={file}:value:MIN",
96                         "DEF:max={file}:value:MAX",
97                         "AREA:max#" .. self.palette.HalfBlue,
98                         "AREA:min#" .. self.palette.Canvas,
99                         "LINE1:avg#" .. self.palette.FullBlue .. ":Charge",
100                         "GPRINT:min:MIN:%5.1lf%sAh Min,",
101                         "GPRINT:avg:AVERAGE:%5.1lf%sAh Avg,",
102                         "GPRINT:max:MAX:%5.1lf%sAh Max,",
103                         "GPRINT:avg:LAST:%5.1lf%sAh Last\\l"
104                 },
105
106                 __cpu = {
107                         "-v", "CPU load",
108                         "DEF:avg={file}:value:AVERAGE",
109                         "DEF:min={file}:value:MIN",
110                         "DEF:max={file}:value:MAX",
111                         "AREA:max#" .. self.palette.HalfBlue,
112                         "AREA:min#" .. self.palette.Canvas,
113                         "LINE1:avg#" .. self.palette.FullBlue .. ":Percent",
114                         "GPRINT:min:MIN:%6.2lf%% Min,",
115                         "GPRINT:avg:AVERAGE:%6.2lf%% Avg,",
116                         "GPRINT:max:MAX:%6.2lf%% Max,",
117                         "GPRINT:avg:LAST:%6.2lf%% Last\\l"
118                 },
119
120                 current = {
121                         "-v", "Ampere",
122                         "DEF:avg={file}:value:AVERAGE",
123                         "DEF:min={file}:value:MIN",
124                         "DEF:max={file}:value:MAX",
125                         "AREA:max#" .. self.palette.HalfBlue,
126                         "AREA:min#" .. self.palette.Canvas,
127                         "LINE1:avg#" .. self.palette.FullBlue .. ":Current",
128                         "GPRINT:min:MIN:%5.1lf%sA Min,",
129                         "GPRINT:avg:AVERAGE:%5.1lf%sA Avg,",
130                         "GPRINT:max:MAX:%5.1lf%sA Max,",
131                         "GPRINT:avg:LAST:%5.1lf%sA Last\\l"
132                 },
133
134                 df = {
135                         "-v", "Percent", "-l", "0",
136                         "DEF:free_avg={file}:free:AVERAGE",
137                         "DEF:free_min={file}:free:MIN",
138                         "DEF:free_max={file}:free:MAX",
139                         "DEF:used_avg={file}:used:AVERAGE",
140                         "DEF:used_min={file}:used:MIN",
141                         "DEF:used_max={file}:used:MAX",
142                         "CDEF:total=free_avg,used_avg,+",
143                         "CDEF:free_pct=100,free_avg,*,total,/",
144                         "CDEF:used_pct=100,used_avg,*,total,/",
145                         "CDEF:free_acc=free_pct,used_pct,+",
146                         "CDEF:used_acc=used_pct",
147                         "AREA:free_acc#" .. self.palette.HalfGreen,
148                         "AREA:used_acc#" .. self.palette.HalfRed,
149                         "LINE1:free_acc#" .. self.palette.FullGreen .. ":Free",
150                         "GPRINT:free_min:MIN:%5.1lf%sB Min,",
151                         "GPRINT:free_avg:AVERAGE:%5.1lf%sB Avg,",
152                         "GPRINT:free_max:MAX:%5.1lf%sB Max,",
153                         "GPRINT:free_avg:LAST:%5.1lf%sB Last\\l",
154                         "LINE1:used_acc#" .. self.palette.FullRed .. ":Used",
155                         "GPRINT:used_min:MIN:%5.1lf%sB Min,",
156                         "GPRINT:used_avg:AVERAGE:%5.1lf%sB Avg,",
157                         "GPRINT:used_max:MAX:%5.1lf%sB Max,",
158                         "GPRINT:used_avg:LAST:%5.1lf%sB Last\\l"
159                 },
160
161                 disk = {
162                         "DEF:rtime_avg={file}:rtime:AVERAGE",
163                         "DEF:rtime_min={file}:rtime:MIN",
164                         "DEF:rtime_max={file}:rtime:MAX",
165                         "DEF:wtime_avg={file}:wtime:AVERAGE",
166                         "DEF:wtime_min={file}:wtime:MIN",
167                         "DEF:wtime_max={file}:wtime:MAX",
168                         "CDEF:rtime_avg_ms=rtime_avg,1000,/",
169                         "CDEF:rtime_min_ms=rtime_min,1000,/",
170                         "CDEF:rtime_max_ms=rtime_max,1000,/",
171                         "CDEF:wtime_avg_ms=wtime_avg,1000,/",
172                         "CDEF:wtime_min_ms=wtime_min,1000,/",
173                         "CDEF:wtime_max_ms=wtime_max,1000,/",
174                         "CDEF:total_avg_ms=rtime_avg_ms,wtime_avg_ms,+",
175                         "CDEF:total_min_ms=rtime_min_ms,wtime_min_ms,+",
176                         "CDEF:total_max_ms=rtime_max_ms,wtime_max_ms,+",
177                         "AREA:total_max_ms#" .. self.palette.HalfRed,
178                         "AREA:total_min_ms#" .. self.palette.Canvas,
179                         "LINE1:wtime_avg_ms#" .. self.palette.FullGreen .. ":Write",
180                         "GPRINT:wtime_min_ms:MIN:%5.1lf%s Min,",
181                         "GPRINT:wtime_avg_ms:AVERAGE:%5.1lf%s Avg,",
182                         "GPRINT:wtime_max_ms:MAX:%5.1lf%s Max,",
183                         "GPRINT:wtime_avg_ms:LAST:%5.1lf%s Last\n",
184                         "LINE1:rtime_avg_ms#" .. self.palette.FullBlue .. ":Read ",
185                         "GPRINT:rtime_min_ms:MIN:%5.1lf%s Min,",
186                         "GPRINT:rtime_avg_ms:AVERAGE:%5.1lf%s Avg,",
187                         "GPRINT:rtime_max_ms:MAX:%5.1lf%s Max,",
188                         "GPRINT:rtime_avg_ms:LAST:%5.1lf%s Last\n",
189                         "LINE1:total_avg_ms#" .. self.palette.FullRed .. ":Total",
190                         "GPRINT:total_min_ms:MIN:%5.1lf%s Min,",
191                         "GPRINT:total_avg_ms:AVERAGE:%5.1lf%s Avg,",
192                         "GPRINT:total_max_ms:MAX:%5.1lf%s Max,",
193                         "GPRINT:total_avg_ms:LAST:%5.1lf%s Last\\l"
194                 },
195
196                 disk_octets = {
197                         "-v", "Bytes/s",
198                         "DEF:out_min={file}:write:MIN",
199                         "DEF:out_avg={file}:write:AVERAGE",
200                         "DEF:out_max={file}:write:MAX",
201                         "DEF:inc_min={file}:read:MIN",
202                         "DEF:inc_avg={file}:read:AVERAGE",
203                         "DEF:inc_max={file}:read:MAX",
204                         "CDEF:overlap=out_avg,inc_avg,GT,inc_avg,out_avg,IF",
205                         "CDEF:mytime=out_avg,TIME,TIME,IF",
206                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
207                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
208                         "CDEF:out_avg_sample=out_avg,UN,0,out_avg,IF,sample_len,*",
209                         "CDEF:out_avg_sum=PREV,UN,0,PREV,IF,out_avg_sample,+",
210                         "CDEF:inc_avg_sample=inc_avg,UN,0,inc_avg,IF,sample_len,*",
211                         "CDEF:inc_avg_sum=PREV,UN,0,PREV,IF,inc_avg_sample,+",
212                         "AREA:out_avg#" .. self.palette.HalfGreen,
213                         "AREA:inc_avg#" .. self.palette.HalfBlue,
214                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
215                         "LINE1:out_avg#" .. self.palette.FullGreen .. ":Written",
216                         "GPRINT:out_avg:AVERAGE:%5.1lf%s Avg,",
217                         "GPRINT:out_max:MAX:%5.1lf%s Max,",
218                         "GPRINT:out_avg:LAST:%5.1lf%s Last\\l",
219                         "GPRINT:out_avg_sum:LAST:(ca. %5.1lf%sB Total)",
220                         "LINE1:inc_avg#" .. self.palette.FullBlue .. ":Read   ",
221                         "GPRINT:inc_avg:AVERAGE:%5.1lf%s Avg,",
222                         "GPRINT:inc_max:MAX:%5.1lf%s Max,",
223                         "GPRINT:inc_avg:LAST:%5.1lf%s Last\\l",
224                         "GPRINT:inc_avg_sum:LAST:(ca. %5.1lf%sB Total)"
225                 },
226
227                 disk_merged = {
228                         "-v", "Merged Ops/s",
229                         "DEF:out_min={file}:write:MIN",
230                         "DEF:out_avg={file}:write:AVERAGE",
231                         "DEF:out_max={file}:write:MAX",
232                         "DEF:inc_min={file}:read:MIN",
233                         "DEF:inc_avg={file}:read:AVERAGE",
234                         "DEF:inc_max={file}:read:MAX",
235                         "CDEF:overlap=out_avg,inc_avg,GT,inc_avg,out_avg,IF",
236                         "AREA:out_avg#" .. self.palette.HalfGreen,
237                         "AREA:inc_avg#" .. self.palette.HalfBlue,
238                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
239                         "LINE1:out_avg#" .. self.palette.FullGreen .. ":Written",
240                         "GPRINT:out_avg:AVERAGE:%6.2lf Avg,",
241                         "GPRINT:out_max:MAX:%6.2lf Max,",
242                         "GPRINT:out_avg:LAST:%6.2lf Last\\l",
243                         "LINE1:inc_avg#" .. self.palette.FullBlue .. ":Read   ",
244                         "GPRINT:inc_avg:AVERAGE:%6.2lf Avg,",
245                         "GPRINT:inc_max:MAX:%6.2lf Max,",
246                         "GPRINT:inc_avg:LAST:%6.2lf Last\\l"
247                 },
248
249                 disk_ops = {
250                         "-v", "Ops/s",
251                         "DEF:out_min={file}:write:MIN",
252                         "DEF:out_avg={file}:write:AVERAGE",
253                         "DEF:out_max={file}:write:MAX",
254                         "DEF:inc_min={file}:read:MIN",
255                         "DEF:inc_avg={file}:read:AVERAGE",
256                         "DEF:inc_max={file}:read:MAX",
257                         "CDEF:overlap=out_avg,inc_avg,GT,inc_avg,out_avg,IF",
258                         "AREA:out_avg#" .. self.palette.HalfGreen,
259                         "AREA:inc_avg#" .. self.palette.HalfBlue,
260                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
261                         "LINE1:out_avg#" .. self.palette.FullGreen .. ":Written",
262                         "GPRINT:out_avg:AVERAGE:%6.2lf Avg,",
263                         "GPRINT:out_max:MAX:%6.2lf Max,",
264                         "GPRINT:out_avg:LAST:%6.2lf Last\\l",
265                         "LINE1:inc_avg#" .. self.palette.FullBlue .. ":Read   ",
266                         "GPRINT:inc_avg:AVERAGE:%6.2lf Avg,",
267                         "GPRINT:inc_max:MAX:%6.2lf Max,",
268                         "GPRINT:inc_avg:LAST:%6.2lf Last\\l"
269                 },
270
271                 disk_time = {
272                         "-v", "Seconds/s",
273                         "DEF:out_min_raw={file}:write:MIN",
274                         "DEF:out_avg_raw={file}:write:AVERAGE",
275                         "DEF:out_max_raw={file}:write:MAX",
276                         "DEF:inc_min_raw={file}:read:MIN",
277                         "DEF:inc_avg_raw={file}:read:AVERAGE",
278                         "DEF:inc_max_raw={file}:read:MAX",
279                         "CDEF:out_min=out_min_raw,1000,/",
280                         "CDEF:out_avg=out_avg_raw,1000,/",
281                         "CDEF:out_max=out_max_raw,1000,/",
282                         "CDEF:inc_min=inc_min_raw,1000,/",
283                         "CDEF:inc_avg=inc_avg_raw,1000,/",
284                         "CDEF:inc_max=inc_max_raw,1000,/",
285                         "CDEF:overlap=out_avg,inc_avg,GT,inc_avg,out_avg,IF",
286                         "AREA:out_avg#" .. self.palette.HalfGreen,
287                         "AREA:inc_avg#" .. self.palette.HalfBlue,
288                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
289                         "LINE1:out_avg#" .. self.palette.FullGreen .. ":Written",
290                         "GPRINT:out_avg:AVERAGE:%5.1lf%ss Avg,",
291                         "GPRINT:out_max:MAX:%5.1lf%ss Max,",
292                         "GPRINT:out_avg:LAST:%5.1lf%ss Last\\l",
293                         "LINE1:inc_avg#" .. self.palette.FullBlue .. ":Read   ",
294                         "GPRINT:inc_avg:AVERAGE:%5.1lf%ss Avg,",
295                         "GPRINT:inc_max:MAX:%5.1lf%ss Max,",
296                         "GPRINT:inc_avg:LAST:%5.1lf%ss Last\\l"
297                 },
298
299                 dns_octets = {
300                         "DEF:rsp_min_raw={file}:responses:MIN",
301                         "DEF:rsp_avg_raw={file}:responses:AVERAGE",
302                         "DEF:rsp_max_raw={file}:responses:MAX",
303                         "DEF:qry_min_raw={file}:queries:MIN",
304                         "DEF:qry_avg_raw={file}:queries:AVERAGE",
305                         "DEF:qry_max_raw={file}:queries:MAX",
306                         "CDEF:rsp_min=rsp_min_raw,8,*",
307                         "CDEF:rsp_avg=rsp_avg_raw,8,*",
308                         "CDEF:rsp_max=rsp_max_raw,8,*",
309                         "CDEF:qry_min=qry_min_raw,8,*",
310                         "CDEF:qry_avg=qry_avg_raw,8,*",
311                         "CDEF:qry_max=qry_max_raw,8,*",
312                         "CDEF:overlap=rsp_avg,qry_avg,GT,qry_avg,rsp_avg,IF",
313                         "CDEF:mytime=rsp_avg_raw,TIME,TIME,IF",
314                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
315                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
316                         "CDEF:rsp_avg_sample=rsp_avg_raw,UN,0,rsp_avg_raw,IF,sample_len,*",
317                         "CDEF:rsp_avg_sum=PREV,UN,0,PREV,IF,rsp_avg_sample,+",
318                         "CDEF:qry_avg_sample=qry_avg_raw,UN,0,qry_avg_raw,IF,sample_len,*",
319                         "CDEF:qry_avg_sum=PREV,UN,0,PREV,IF,qry_avg_sample,+",
320                         "AREA:rsp_avg#" .. self.palette.HalfGreen,
321                         "AREA:qry_avg#" .. self.palette.HalfBlue,
322                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
323                         "LINE1:rsp_avg#" .. self.palette.FullGreen .. ":Responses",
324                         "GPRINT:rsp_avg:AVERAGE:%5.1lf%s Avg,",
325                         "GPRINT:rsp_max:MAX:%5.1lf%s Max,",
326                         "GPRINT:rsp_avg:LAST:%5.1lf%s Last\\l",
327                         "GPRINT:rsp_avg_sum:LAST:(ca. %5.1lf%sB Total)",
328                         "LINE1:qry_avg#" .. self.palette.FullBlue .. ":Queries  ",
329                         #"GPRINT:qry_min:MIN:%5.1lf %s Min,",
330                         "GPRINT:qry_avg:AVERAGE:%5.1lf%s Avg,",
331                         "GPRINT:qry_max:MAX:%5.1lf%s Max,",
332                         "GPRINT:qry_avg:LAST:%5.1lf%s Last\\l",
333                         "GPRINT:qry_avg_sum:LAST:(ca. %5.1lf%sB Total)"
334                 },
335
336                 dns_opcode = {
337                         "DEF:avg={file}:value:AVERAGE",
338                         "DEF:min={file}:value:MIN",
339                         "DEF:max={file}:value:MAX",
340                         "AREA:max#" .. self.palette.HalfBlue,
341                         "AREA:min#" .. self.palette.Canvas,
342                         "LINE1:avg#" .. self.palette.FullBlue .. ":Queries/s",
343                         "GPRINT:min:MIN:%9.3lf Min,",
344                         "GPRINT:avg:AVERAGE:%9.3lf Average,",
345                         "GPRINT:max:MAX:%9.3lf Max,",
346                         "GPRINT:avg:LAST:%9.3lf Last\\l"
347                 },
348
349                 email_count = {
350                         "-v", "Mails",
351                         "DEF:avg={file}:value:AVERAGE",
352                         "DEF:min={file}:value:MIN",
353                         "DEF:max={file}:value:MAX",
354                         "AREA:max#" .. self.palette.HalfMagenta,
355                         "AREA:min#" .. self.palette.Canvas,
356                         "LINE1:avg#" .. self.palette.FullMagenta .. ":Count ",
357                         "GPRINT:min:MIN:%4.1lf Min,",
358                         "GPRINT:avg:AVERAGE:%4.1lf Avg,",
359                         "GPRINT:max:MAX:%4.1lf Max,",
360                         "GPRINT:avg:LAST:%4.1lf Last\\l"
361                 },
362
363                 email_size = {
364                         "-v", "Bytes",
365                         "DEF:avg={file}:value:AVERAGE",
366                         "DEF:min={file}:value:MIN",
367                         "DEF:max={file}:value:MAX",
368                         "AREA:max#" .. self.palette.HalfMagenta,
369                         "AREA:min#" .. self.palette.Canvas,
370                         "LINE1:avg#" .. self.palette.FullMagenta .. ":Count ",
371                         "GPRINT:min:MIN:%4.1lf Min,",
372                         "GPRINT:avg:AVERAGE:%4.1lf Avg,",
373                         "GPRINT:max:MAX:%4.1lf Max,",
374                         "GPRINT:avg:LAST:%4.1lf Last\\l"
375                 },
376
377                 spam_score = {
378                         "-v", "Score",
379                         "DEF:avg={file}:value:AVERAGE",
380                         "DEF:min={file}:value:MIN",
381                         "DEF:max={file}:value:MAX",
382                         "AREA:max#" .. self.palette.HalfBlue,
383                         "AREA:min#" .. self.palette.Canvas,
384                         "LINE1:avg#" .. self.palette.FullBlue .. ":Score ",
385                         "GPRINT:min:MIN:%4.1lf Min,",
386                         "GPRINT:avg:AVERAGE:%4.1lf Avg,",
387                         "GPRINT:max:MAX:%4.1lf Max,",
388                         "GPRINT:avg:LAST:%4.1lf Last\\l"
389                 },
390
391                 spam_check = {
392                         "DEF:avg={file}:hits:AVERAGE",
393                         "DEF:min={file}:hits:MIN",
394                         "DEF:max={file}:hits:MAX",
395                         "AREA:max#" .. self.palette.HalfMagenta,
396                         "AREA:min#" .. self.palette.Canvas,
397                         "LINE1:avg#" .. self.palette.FullMagenta .. ":Count ",
398                         "GPRINT:min:MIN:%4.1lf Min,",
399                         "GPRINT:avg:AVERAGE:%4.1lf Avg,",
400                         "GPRINT:max:MAX:%4.1lf Max,",
401                         "GPRINT:avg:LAST:%4.1lf Last\\l"
402                 },
403
404                 entropy = {
405                         "-v", "Bits",
406                         "DEF:avg={file}:entropy:AVERAGE",
407                         "DEF:min={file}:entropy:MIN",
408                         "DEF:max={file}:entropy:MAX",
409                         "AREA:max#" .. self.palette.HalfBlue,
410                         "AREA:min#" .. self.palette.Canvas,
411                         "LINE1:avg#" .. self.palette.FullBlue .. ":Bits",
412                         "GPRINT:min:MIN:%4.0lfbit Min,",
413                         "GPRINT:avg:AVERAGE:%4.0lfbit Avg,",
414                         "GPRINT:max:MAX:%4.0lfbit Max,",
415                         "GPRINT:avg:LAST:%4.0lfbit Last\\l"
416                 },
417
418                 fanspeed = {
419                         "-v", "RPM",
420                         "DEF:avg={file}:value:AVERAGE",
421                         "DEF:min={file}:value:MIN",
422                         "DEF:max={file}:value:MAX",
423                         "AREA:max#" .. self.palette.HalfMagenta,
424                         "AREA:min#" .. self.palette.Canvas,
425                         "LINE1:avg#" .. self.palette.FullMagenta .. ":RPM",
426                         "GPRINT:min:MIN:%4.1lf Min,",
427                         "GPRINT:avg:AVERAGE:%4.1lf Avg,",
428                         "GPRINT:max:MAX:%4.1lf Max,",
429                         "GPRINT:avg:LAST:%4.1lf Last\\l"
430                 },
431
432                 frequency = {
433                         "-v", "Hertz",
434                         "DEF:avg={file}:frequency:AVERAGE",
435                         "DEF:min={file}:frequency:MIN",
436                         "DEF:max={file}:frequency:MAX",
437                         "AREA:max#" .. self.palette.HalfBlue,
438                         "AREA:min#" .. self.palette.Canvas,
439                         "LINE1:avg#" .. self.palette.FullBlue .. ":Frequency [Hz]",
440                         "GPRINT:min:MIN:%4.1lf Min,",
441                         "GPRINT:avg:AVERAGE:%4.1lf Avg,",
442                         "GPRINT:max:MAX:%4.1lf Max,",
443                         "GPRINT:avg:LAST:%4.1lf Last\\l"
444                 },
445
446                 frequency_offset = {
447                         "DEF:ppm_avg={file}:ppm:AVERAGE",
448                         "DEF:ppm_min={file}:ppm:MIN",
449                         "DEF:ppm_max={file}:ppm:MAX",
450                         "AREA:ppm_max#" .. self.palette.HalfBlue,
451                         "AREA:ppm_min#" .. self.palette.Canvas,
452                         "LINE1:ppm_avg#" .. self.palette.FullBlue .. ":{inst}",
453                         "GPRINT:ppm_min:MIN:%5.2lf Min,",
454                         "GPRINT:ppm_avg:AVERAGE:%5.2lf Avg,",
455                         "GPRINT:ppm_max:MAX:%5.2lf Max,",
456                         "GPRINT:ppm_avg:LAST:%5.2lf Last\\l"
457                 },
458
459                 gauge = {
460                         "-v", "Exec value",
461                         "DEF:temp_avg={file}:value:AVERAGE",
462                         "DEF:temp_min={file}:value:MIN",
463                         "DEF:temp_max={file}:value:MAX",
464                         "AREA:temp_max#" .. self.palette.HalfBlue,
465                         "AREA:temp_min#" .. self.palette.Canvas,
466                         "LINE1:temp_avg#" .. self.palette.FullBlue .. ":Exec value",
467                         "GPRINT:temp_min:MIN:%6.2lf Min,",
468                         "GPRINT:temp_avg:AVERAGE:%6.2lf Avg,",
469                         "GPRINT:temp_max:MAX:%6.2lf Max,",
470                         "GPRINT:temp_avg:LAST:%6.2lf Last\\l"
471                 },
472
473                 hddtemp = {
474                         "DEF:temp_avg={file}:value:AVERAGE",
475                         "DEF:temp_min={file}:value:MIN",
476                         "DEF:temp_max={file}:value:MAX",
477                         "AREA:temp_max#" .. self.palette.HalfRed,
478                         "AREA:temp_min#" .. self.palette.Canvas,
479                         "LINE1:temp_avg#" .. self.palette.FullRed .. ":Temperature",
480                         "GPRINT:temp_min:MIN:%4.1lf Min,",
481                         "GPRINT:temp_avg:AVERAGE:%4.1lf Avg,",
482                         "GPRINT:temp_max:MAX:%4.1lf Max,",
483                         "GPRINT:temp_avg:LAST:%4.1lf Last\\l"
484                 },
485
486                 humidity = {
487                         "-v", "Percent",
488                         "DEF:temp_avg={file}:value:AVERAGE",
489                         "DEF:temp_min={file}:value:MIN",
490                         "DEF:temp_max={file}:value:MAX",
491                         "AREA:temp_max#" .. self.palette.HalfGreen,
492                         "AREA:temp_min#" .. self.palette.Canvas,
493                         "LINE1:temp_avg#" .. self.palette.FullGreen .. ":Temperature",
494                         "GPRINT:temp_min:MIN:%4.1lf%% Min,",
495                         "GPRINT:temp_avg:AVERAGE:%4.1lf%% Avg,",
496                         "GPRINT:temp_max:MAX:%4.1lf%% Max,",
497                         "GPRINT:temp_avg:LAST:%4.1lf%% Last\\l"
498                 },
499
500                 if_errors = {
501                         "-v", "Errors/s",
502                         "DEF:tx_min={file}:tx:MIN",
503                         "DEF:tx_avg={file}:tx:AVERAGE",
504                         "DEF:tx_max={file}:tx:MAX",
505                         "DEF:rx_min={file}:rx:MIN",
506                         "DEF:rx_avg={file}:rx:AVERAGE",
507                         "DEF:rx_max={file}:rx:MAX",
508                         "CDEF:overlap=tx_avg,rx_avg,GT,rx_avg,tx_avg,IF",
509                         "CDEF:mytime=tx_avg,TIME,TIME,IF",
510                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
511                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
512                         "CDEF:tx_avg_sample=tx_avg,UN,0,tx_avg,IF,sample_len,*",
513                         "CDEF:tx_avg_sum=PREV,UN,0,PREV,IF,tx_avg_sample,+",
514                         "CDEF:rx_avg_sample=rx_avg,UN,0,rx_avg,IF,sample_len,*",
515                         "CDEF:rx_avg_sum=PREV,UN,0,PREV,IF,rx_avg_sample,+",
516                         "AREA:tx_avg#" .. self.palette.HalfGreen,
517                         "AREA:rx_avg#" .. self.palette.HalfBlue,
518                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
519                         "LINE1:tx_avg#" .. self.palette.FullGreen .. ":TX",
520                         "GPRINT:tx_avg:AVERAGE:%5.1lf%s Avg,",
521                         "GPRINT:tx_max:MAX:%5.1lf%s Max,",
522                         "GPRINT:tx_avg:LAST:%5.1lf%s Last\\l",
523                         "GPRINT:tx_avg_sum:LAST:(ca. %4.0lf%s Total)",
524                         "LINE1:rx_avg#" .. self.palette.FullBlue .. ":RX",
525                         #"GPRINT:rx_min:MIN:%5.1lf %s Min,",
526                         "GPRINT:rx_avg:AVERAGE:%5.1lf%s Avg,",
527                         "GPRINT:rx_max:MAX:%5.1lf%s Max,",
528                         "GPRINT:rx_avg:LAST:%5.1lf%s Last\\l",
529                         "GPRINT:rx_avg_sum:LAST:(ca. %4.0lf%s Total)"
530                 },
531
532                 if_collisions = {
533                         "-v", "Collisions/s",
534                         "DEF:min_raw={file}:value:MIN",
535                         "DEF:avg_raw={file}:value:AVERAGE",
536                         "DEF:max_raw={file}:value:MAX",
537                         "CDEF:min=min_raw,8,*",
538                         "CDEF:avg=avg_raw,8,*",
539                         "CDEF:max=max_raw,8,*",
540                         "AREA:max#" .. self.palette.HalfBlue,
541                         "AREA:min#" .. self.palette.Canvas,
542                         "LINE1:avg#" .. self.palette.FullBlue .. ":Collisions/s",
543                         "GPRINT:min:MIN:%5.1lf %s Min,",
544                         "GPRINT:avg:AVERAGE:%5.1lf%s Avg,",
545                         "GPRINT:max:MAX:%5.1lf%s Max,",
546                         "GPRINT:avg:LAST:%5.1lf%s Last\\l"
547                 },
548
549                 if_dropped = {
550                         "-v", "Packets/s",
551                         "DEF:tx_min={file}:tx:MIN",
552                         "DEF:tx_avg={file}:tx:AVERAGE",
553                         "DEF:tx_max={file}:tx:MAX",
554                         "DEF:rx_min={file}:rx:MIN",
555                         "DEF:rx_avg={file}:rx:AVERAGE",
556                         "DEF:rx_max={file}:rx:MAX",
557                         "CDEF:overlap=tx_avg,rx_avg,GT,rx_avg,tx_avg,IF",
558                         "CDEF:mytime=tx_avg,TIME,TIME,IF",
559                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
560                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
561                         "CDEF:tx_avg_sample=tx_avg,UN,0,tx_avg,IF,sample_len,*",
562                         "CDEF:tx_avg_sum=PREV,UN,0,PREV,IF,tx_avg_sample,+",
563                         "CDEF:rx_avg_sample=rx_avg,UN,0,rx_avg,IF,sample_len,*",
564                         "CDEF:rx_avg_sum=PREV,UN,0,PREV,IF,rx_avg_sample,+",
565                         "AREA:tx_avg#" .. self.palette.HalfGreen,
566                         "AREA:rx_avg#" .. self.palette.HalfBlue,
567                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
568                         "LINE1:tx_avg#" .. self.palette.FullGreen .. ":TX",
569                         "GPRINT:tx_avg:AVERAGE:%5.1lf%s Avg,",
570                         "GPRINT:tx_max:MAX:%5.1lf%s Max,",
571                         "GPRINT:tx_avg:LAST:%5.1lf%s Last\\l",
572                         "GPRINT:tx_avg_sum:LAST:(ca. %4.0lf%s Total)",
573                         "LINE1:rx_avg#" .. self.palette.FullBlue .. ":RX",
574                         #"GPRINT:rx_min:MIN:%5.1lf %s Min,",
575                         "GPRINT:rx_avg:AVERAGE:%5.1lf%s Avg,",
576                         "GPRINT:rx_max:MAX:%5.1lf%s Max,",
577                         "GPRINT:rx_avg:LAST:%5.1lf%s Last\\l",
578                         "GPRINT:rx_avg_sum:LAST:(ca. %4.0lf%s Total)"
579                 },
580
581                 if_packets = {
582                         "-v", "Packets/s",
583                         "DEF:tx_min={file}:tx:MIN",
584                         "DEF:tx_avg={file}:tx:AVERAGE",
585                         "DEF:tx_max={file}:tx:MAX",
586                         "DEF:rx_min={file}:rx:MIN",
587                         "DEF:rx_avg={file}:rx:AVERAGE",
588                         "DEF:rx_max={file}:rx:MAX",
589                         "CDEF:overlap=tx_avg,rx_avg,GT,rx_avg,tx_avg,IF",
590                         "CDEF:mytime=tx_avg,TIME,TIME,IF",
591                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
592                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
593                         "CDEF:tx_avg_sample=tx_avg,UN,0,tx_avg,IF,sample_len,*",
594                         "CDEF:tx_avg_sum=PREV,UN,0,PREV,IF,tx_avg_sample,+",
595                         "CDEF:rx_avg_sample=rx_avg,UN,0,rx_avg,IF,sample_len,*",
596                         "CDEF:rx_avg_sum=PREV,UN,0,PREV,IF,rx_avg_sample,+",
597                         "AREA:tx_avg#" .. self.palette.HalfGreen,
598                         "AREA:rx_avg#" .. self.palette.HalfBlue,
599                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
600                         "LINE1:tx_avg#" .. self.palette.FullGreen .. ":TX",
601                         "GPRINT:tx_avg:AVERAGE:%5.1lf%s Avg,",
602                         "GPRINT:tx_max:MAX:%5.1lf%s Max,",
603                         "GPRINT:tx_avg:LAST:%5.1lf%s Last\\l",
604                         "GPRINT:tx_avg_sum:LAST:(ca. %4.0lf%s Total)",
605                         "LINE1:rx_avg#" .. self.palette.FullBlue .. ":RX",
606                         #"GPRINT:rx_min:MIN:%5.1lf %s Min,",
607                         "GPRINT:rx_avg:AVERAGE:%5.1lf%s Avg,",
608                         "GPRINT:rx_max:MAX:%5.1lf%s Max,",
609                         "GPRINT:rx_avg:LAST:%5.1lf%s Last\\l",
610                         "GPRINT:rx_avg_sum:LAST:(ca. %4.0lf%s Total)"
611                 },
612
613                 if_rx_errors = {
614                         "-v", "Errors/s",
615                         "DEF:min={file}:value:MIN",
616                         "DEF:avg={file}:value:AVERAGE",
617                         "DEF:max={file}:value:MAX",
618                         "CDEF:mytime=avg,TIME,TIME,IF",
619                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
620                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
621                         "CDEF:avg_sample=avg,UN,0,avg,IF,sample_len,*",
622                         "CDEF:avg_sum=PREV,UN,0,PREV,IF,avg_sample,+",
623                         "AREA:avg#" .. self.palette.HalfBlue,
624                         "LINE1:avg#" .. self.palette.FullBlue .. ":Errors/s",
625                         "GPRINT:avg:AVERAGE:%3.1lf%s Avg,",
626                         "GPRINT:max:MAX:%3.1lf%s Max,",
627                         "GPRINT:avg:LAST:%3.1lf%s Last\\l",
628                         "GPRINT:avg_sum:LAST:(ca. %2.0lf%s Total)"
629                 },
630
631                 ipt_bytes = {
632                         "-v", "Bits/s",
633                         "DEF:min_raw={file}:value:MIN",
634                         "DEF:avg_raw={file}:value:AVERAGE",
635                         "DEF:max_raw={file}:value:MAX",
636                         "CDEF:min=min_raw,8,*",
637                         "CDEF:avg=avg_raw,8,*",
638                         "CDEF:max=max_raw,8,*",
639                         "CDEF:mytime=avg_raw,TIME,TIME,IF",
640                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
641                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
642                         "CDEF:avg_sample=avg_raw,UN,0,avg_raw,IF,sample_len,*",
643                         "CDEF:avg_sum=PREV,UN,0,PREV,IF,avg_sample,+",
644                         "AREA:max#" .. self.palette.HalfBlue,
645                         "AREA:min#" .. self.palette.Canvas,
646                         "LINE1:avg#" .. self.palette.FullBlue .. ":Bits/s",
647                         #"GPRINT:min:MIN:%5.1lf %s Min,",
648                         "GPRINT:avg:AVERAGE:%5.1lf%s Avg,",
649                         "GPRINT:max:MAX:%5.1lf%s Max,",
650                         "GPRINT:avg:LAST:%5.1lf%s Last\\l",
651                         "GPRINT:avg_sum:LAST:(ca. %5.1lf%sB Total)"
652                 },
653
654                 ipt_packets = {
655                         "-v", "Packets/s",
656                         "DEF:min_raw={file}:value:MIN",
657                         "DEF:avg_raw={file}:value:AVERAGE",
658                         "DEF:max_raw={file}:value:MAX",
659                         "CDEF:min=min_raw,8,*",
660                         "CDEF:avg=avg_raw,8,*",
661                         "CDEF:max=max_raw,8,*",
662                         "AREA:max#" .. self.palette.HalfBlue,
663                         "AREA:min#" .. self.palette.Canvas,
664                         "LINE1:avg#" .. self.palette.FullBlue .. ":Packets/s",
665                         "GPRINT:min:MIN:%5.1lf %s Min,",
666                         "GPRINT:avg:AVERAGE:%5.1lf%s Avg,",
667                         "GPRINT:max:MAX:%5.1lf%s Max,",
668                         "GPRINT:avg:LAST:%5.1lf%s Last\\l"
669                 },
670
671                 irq = {
672                         "-v", "Issues/s",
673                         "DEF:avg={file}:value:AVERAGE",
674                         "DEF:min={file}:value:MIN",
675                         "DEF:max={file}:value:MAX",
676                         "AREA:max#" .. self.palette.HalfBlue,
677                         "AREA:min#" .. self.palette.Canvas,
678                         "LINE1:avg#" .. self.palette.FullBlue .. ":Issues/s",
679                         "GPRINT:min:MIN:%6.2lf Min,",
680                         "GPRINT:avg:AVERAGE:%6.2lf Avg,",
681                         "GPRINT:max:MAX:%6.2lf Max,",
682                         "GPRINT:avg:LAST:%6.2lf Last\\l"
683                 },
684
685                 load = {
686                         "-v", "System load",
687                         "DEF:s_avg={file}:shortterm:AVERAGE",
688                         "DEF:s_min={file}:shortterm:MIN",
689                         "DEF:s_max={file}:shortterm:MAX",
690                         "DEF:m_avg={file}:midterm:AVERAGE",
691                         "DEF:m_min={file}:midterm:MIN",
692                         "DEF:m_max={file}:midterm:MAX",
693                         "DEF:l_avg={file}:longterm:AVERAGE",
694                         "DEF:l_min={file}:longterm:MIN",
695                         "DEF:l_max={file}:longterm:MAX",
696                         "AREA:s_max#" .. self.palette.HalfGreen,
697                         "AREA:s_min#" .. self.palette.Canvas,
698                         "LINE1:s_avg#" .. self.palette.FullGreen .. ": 1m average",
699                         "GPRINT:s_min:MIN:%4.2lf Min,",
700                         "GPRINT:s_avg:AVERAGE:%4.2lf Avg,",
701                         "GPRINT:s_max:MAX:%4.2lf Max,",
702                         "GPRINT:s_avg:LAST:%4.2lf Last\n",
703                         "LINE1:m_avg#" .. self.palette.FullBlue .. ": 5m average",
704                         "GPRINT:m_min:MIN:%4.2lf Min,",
705                         "GPRINT:m_avg:AVERAGE:%4.2lf Avg,",
706                         "GPRINT:m_max:MAX:%4.2lf Max,",
707                         "GPRINT:m_avg:LAST:%4.2lf Last\n",
708                         "LINE1:l_avg#" .. self.palette.FullRed .. ":15m average",
709                         "GPRINT:l_min:MIN:%4.2lf Min,",
710                         "GPRINT:l_avg:AVERAGE:%4.2lf Avg,",
711                         "GPRINT:l_max:MAX:%4.2lf Max,",
712                         "GPRINT:l_avg:LAST:%4.2lf Last\\l"
713                 },
714
715                 load_percent = {
716                         "DEF:avg={file}:percent:AVERAGE",
717                         "DEF:min={file}:percent:MIN",
718                         "DEF:max={file}:percent:MAX",
719                         "AREA:max#" .. self.palette.HalfBlue,
720                         "AREA:min#" .. self.palette.Canvas,
721                         "LINE1:avg#" .. self.palette.FullBlue .. ":Load",
722                         "GPRINT:min:MIN:%5.1lf%s%% Min,",
723                         "GPRINT:avg:AVERAGE:%5.1lf%s%% Avg,",
724                         "GPRINT:max:MAX:%5.1lf%s%% Max,",
725                         "GPRINT:avg:LAST:%5.1lf%s%% Last\\l"
726                 },
727
728                 mails = {
729                         "DEF:rawgood={file}:good:AVERAGE",
730                         "DEF:rawspam={file}:spam:AVERAGE",
731                         "CDEF:good=rawgood,UN,0,rawgood,IF",
732                         "CDEF:spam=rawspam,UN,0,rawspam,IF",
733                         "CDEF:negspam=spam,-1,*",
734                         "AREA:good#" .. self.palette.HalfGreen,
735                         "LINE1:good#" .. self.palette.FullGreen .. ":Good mails",
736                         "GPRINT:good:AVERAGE:%4.1lf Avg,",
737                         "GPRINT:good:MAX:%4.1lf Max,",
738                         "GPRINT:good:LAST:%4.1lf Last\n",
739                         "AREA:negspam#" .. self.palette.HalfRed,
740                         "LINE1:negspam#" .. self.palette.FullRed .. ":Spam mails",
741                         "GPRINT:spam:AVERAGE:%4.1lf Avg,",
742                         "GPRINT:spam:MAX:%4.1lf Max,",
743                         "GPRINT:spam:LAST:%4.1lf Last\\l",
744                         "HRULE:0#000000"
745                 },
746
747                 memory = {
748                         "-b", "1024", "-v", "Bytes",
749                         "DEF:avg={file}:value:AVERAGE",
750                         "DEF:min={file}:value:MIN",
751                         "DEF:max={file}:value:MAX",
752                         "AREA:max#" .. self.palette.HalfBlue,
753                         "AREA:min#" .. self.palette.Canvas,
754                         "LINE1:avg#" .. self.palette.FullBlue .. ":Memory",
755                         "GPRINT:min:MIN:%5.1lf%sbyte Min,",
756                         "GPRINT:avg:AVERAGE:%5.1lf%sbyte Avg,",
757                         "GPRINT:max:MAX:%5.1lf%sbyte Max,",
758                         "GPRINT:avg:LAST:%5.1lf%sbyte Last\\l"
759                 },
760
761                 old_memory = {
762                         "DEF:used_avg={file}:used:AVERAGE",
763                         "DEF:free_avg={file}:free:AVERAGE",
764                         "DEF:buffers_avg={file}:buffers:AVERAGE",
765                         "DEF:cached_avg={file}:cached:AVERAGE",
766                         "DEF:used_min={file}:used:MIN",
767                         "DEF:free_min={file}:free:MIN",
768                         "DEF:buffers_min={file}:buffers:MIN",
769                         "DEF:cached_min={file}:cached:MIN",
770                         "DEF:used_max={file}:used:MAX",
771                         "DEF:free_max={file}:free:MAX",
772                         "DEF:buffers_max={file}:buffers:MAX",
773                         "DEF:cached_max={file}:cached:MAX",
774                         "CDEF:cached_avg_nn=cached_avg,UN,0,cached_avg,IF",
775                         "CDEF:buffers_avg_nn=buffers_avg,UN,0,buffers_avg,IF",
776                         "CDEF:free_cached_buffers_used=free_avg,cached_avg_nn,+,buffers_avg_nn,+,used_avg,+",
777                         "CDEF:cached_buffers_used=cached_avg,buffers_avg_nn,+,used_avg,+",
778                         "CDEF:buffers_used=buffers_avg,used_avg,+",
779                         "AREA:free_cached_buffers_used#" .. self.palette.HalfGreen,
780                         "AREA:cached_buffers_used#" .. self.palette.HalfBlue,
781                         "AREA:buffers_used#" .. self.palette.HalfYellow,
782                         "AREA:used_avg#" .. self.palette.HalfRed,
783                         "LINE1:free_cached_buffers_used#" .. self.palette.FullGreen .. ":Free        ",
784                         "GPRINT:free_min:MIN:%5.1lf%s Min,",
785                         "GPRINT:free_avg:AVERAGE:%5.1lf%s Avg,",
786                         "GPRINT:free_max:MAX:%5.1lf%s Max,",
787                         "GPRINT:free_avg:LAST:%5.1lf%s Last\n",
788                         "LINE1:cached_buffers_used#" .. self.palette.FullBlue .. ":Page cache  ",
789                         "GPRINT:cached_min:MIN:%5.1lf%s Min,",
790                         "GPRINT:cached_avg:AVERAGE:%5.1lf%s Avg,",
791                         "GPRINT:cached_max:MAX:%5.1lf%s Max,",
792                         "GPRINT:cached_avg:LAST:%5.1lf%s Last\n",
793                         "LINE1:buffers_used#" .. self.palette.FullYellow .. ":Buffer cache",
794                         "GPRINT:buffers_min:MIN:%5.1lf%s Min,",
795                         "GPRINT:buffers_avg:AVERAGE:%5.1lf%s Avg,",
796                         "GPRINT:buffers_max:MAX:%5.1lf%s Max,",
797                         "GPRINT:buffers_avg:LAST:%5.1lf%s Last\n",
798                         "LINE1:used_avg#" .. self.palette.FullRed .. ":Used        ",
799                         "GPRINT:used_min:MIN:%5.1lf%s Min,",
800                         "GPRINT:used_avg:AVERAGE:%5.1lf%s Avg,",
801                         "GPRINT:used_max:MAX:%5.1lf%s Max,",
802                         "GPRINT:used_avg:LAST:%5.1lf%s Last\\l"
803                 },
804
805                 mysql_commands = {
806                         "-v", "Issues/s",
807                         "DEF:val_avg={file}:value:AVERAGE",
808                         "DEF:val_min={file}:value:MIN",
809                         "DEF:val_max={file}:value:MAX",
810                         "AREA:val_max#" .. self.palette.HalfBlue,
811                         "AREA:val_min#" .. self.palette.Canvas,
812                         "LINE1:val_avg#" .. self.palette.FullBlue .. ":Issues/s",
813                         "GPRINT:val_min:MIN:%5.2lf Min,",
814                         "GPRINT:val_avg:AVERAGE:%5.2lf Avg,",
815                         "GPRINT:val_max:MAX:%5.2lf Max,",
816                         "GPRINT:val_avg:LAST:%5.2lf Last\\l"
817                 },
818
819                 mysql_handler = {
820                         "-v", "Issues/s",
821                         "DEF:val_avg={file}:value:AVERAGE",
822                         "DEF:val_min={file}:value:MIN",
823                         "DEF:val_max={file}:value:MAX",
824                         "AREA:val_max#" .. self.palette.HalfBlue,
825                         "AREA:val_min#" .. self.palette.Canvas,
826                         "LINE1:val_avg#" .. self.palette.FullBlue .. ":Issues/s",
827                         "GPRINT:val_min:MIN:%5.2lf Min,",
828                         "GPRINT:val_avg:AVERAGE:%5.2lf Avg,",
829                         "GPRINT:val_max:MAX:%5.2lf Max,",
830                         "GPRINT:val_avg:LAST:%5.2lf Last\\l"
831                 },
832
833                 mysql_octets = {
834                         "-v", "Bits/s",
835                         "DEF:out_min={file}:tx:MIN",
836                         "DEF:out_avg={file}:tx:AVERAGE",
837                         "DEF:out_max={file}:tx:MAX",
838                         "DEF:inc_min={file}:rx:MIN",
839                         "DEF:inc_avg={file}:rx:AVERAGE",
840                         "DEF:inc_max={file}:rx:MAX",
841                         "CDEF:mytime=out_avg,TIME,TIME,IF",
842                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
843                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
844                         "CDEF:out_avg_sample=out_avg,UN,0,out_avg,IF,sample_len,*",
845                         "CDEF:out_avg_sum=PREV,UN,0,PREV,IF,out_avg_sample,+",
846                         "CDEF:inc_avg_sample=inc_avg,UN,0,inc_avg,IF,sample_len,*",
847                         "CDEF:inc_avg_sum=PREV,UN,0,PREV,IF,inc_avg_sample,+",
848                         "CDEF:out_bit_min=out_min,8,*",
849                         "CDEF:out_bit_avg=out_avg,8,*",
850                         "CDEF:out_bit_max=out_max,8,*",
851                         "CDEF:inc_bit_min=inc_min,8,*",
852                         "CDEF:inc_bit_avg=inc_avg,8,*",
853                         "CDEF:inc_bit_max=inc_max,8,*",
854                         "CDEF:overlap=out_bit_avg,inc_bit_avg,GT,inc_bit_avg,out_bit_avg,IF",
855                         "AREA:out_bit_avg#" .. self.palette.HalfGreen,
856                         "AREA:inc_bit_avg#" .. self.palette.HalfBlue,
857                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
858                         "LINE1:out_bit_avg#" .. self.palette.FullGreen .. ":Written",
859                         "GPRINT:out_bit_avg:AVERAGE:%5.1lf%s Avg,",
860                         "GPRINT:out_bit_max:MAX:%5.1lf%s Max,",
861                         "GPRINT:out_bit_avg:LAST:%5.1lf%s Last\\l",
862                         "GPRINT:out_avg_sum:LAST:(ca. %5.1lf%sB Total)",
863                         "LINE1:inc_bit_avg#" .. self.palette.FullBlue .. ":Read   ",
864                         "GPRINT:inc_bit_avg:AVERAGE:%5.1lf%s Avg,",
865                         "GPRINT:inc_bit_max:MAX:%5.1lf%s Max,",
866                         "GPRINT:inc_bit_avg:LAST:%5.1lf%s Last\\l",
867                         "GPRINT:inc_avg_sum:LAST:(ca. %5.1lf%sB Total)"
868                 },
869
870                 mysql_qcache = {
871                         "-v", "Queries/s",
872                         "DEF:hits_min={file}:hits:MIN",
873                         "DEF:hits_avg={file}:hits:AVERAGE",
874                         "DEF:hits_max={file}:hits:MAX",
875                         "DEF:inserts_min={file}:inserts:MIN",
876                         "DEF:inserts_avg={file}:inserts:AVERAGE",
877                         "DEF:inserts_max={file}:inserts:MAX",
878                         "DEF:not_cached_min={file}:not_cached:MIN",
879                         "DEF:not_cached_avg={file}:not_cached:AVERAGE",
880                         "DEF:not_cached_max={file}:not_cached:MAX",
881                         "DEF:lowmem_prunes_min={file}:lowmem_prunes:MIN",
882                         "DEF:lowmem_prunes_avg={file}:lowmem_prunes:AVERAGE",
883                         "DEF:lowmem_prunes_max={file}:lowmem_prunes:MAX",
884                         "DEF:queries_min={file}:queries_in_cache:MIN",
885                         "DEF:queries_avg={file}:queries_in_cache:AVERAGE",
886                         "DEF:queries_max={file}:queries_in_cache:MAX",
887                         "CDEF:unknown=queries_avg,UNKN,+",
888                         "CDEF:not_cached_agg=hits_avg,inserts_avg,+,not_cached_avg,+",
889                         "CDEF:inserts_agg=hits_avg,inserts_avg,+",
890                         "CDEF:hits_agg=hits_avg",
891                         "AREA:not_cached_agg#" .. self.palette.HalfYellow,
892                         "AREA:inserts_agg#" .. self.palette.HalfBlue,
893                         "AREA:hits_agg#" .. self.palette.HalfGreen,
894                         "LINE1:not_cached_agg#" .. self.palette.FullYellow .. ":Not Cached      ",
895                         "GPRINT:not_cached_min:MIN:%5.2lf Min,",
896                         "GPRINT:not_cached_avg:AVERAGE:%5.2lf Avg,",
897                         "GPRINT:not_cached_max:MAX:%5.2lf Max,",
898                         "GPRINT:not_cached_avg:LAST:%5.2lf Last\\l",
899                         "LINE1:inserts_agg#" .. self.palette.FullBlue .. ":Inserts         ",
900                         "GPRINT:inserts_min:MIN:%5.2lf Min,",
901                         "GPRINT:inserts_avg:AVERAGE:%5.2lf Avg,",
902                         "GPRINT:inserts_max:MAX:%5.2lf Max,",
903                         "GPRINT:inserts_avg:LAST:%5.2lf Last\\l",
904                         "LINE1:hits_agg#" .. self.palette.FullGreen .. ":Hits            ",
905                         "GPRINT:hits_min:MIN:%5.2lf Min,",
906                         "GPRINT:hits_avg:AVERAGE:%5.2lf Avg,",
907                         "GPRINT:hits_max:MAX:%5.2lf Max,",
908                         "GPRINT:hits_avg:LAST:%5.2lf Last\\l",
909                         "LINE1:lowmem_prunes_avg#" .. self.palette.FullRed .. ":Lowmem Prunes   ",
910                         "GPRINT:lowmem_prunes_min:MIN:%5.2lf Min,",
911                         "GPRINT:lowmem_prunes_avg:AVERAGE:%5.2lf Avg,",
912                         "GPRINT:lowmem_prunes_max:MAX:%5.2lf Max,",
913                         "GPRINT:lowmem_prunes_avg:LAST:%5.2lf Last\\l",
914                         "LINE1:unknown#" .. self.palette.Canvas .. ":Queries in cache",
915                         "GPRINT:queries_min:MIN:%5.0lf Min,",
916                         "GPRINT:queries_avg:AVERAGE:%5.0lf Avg,",
917                         "GPRINT:queries_max:MAX:%5.0lf Max,",
918                         "GPRINT:queries_avg:LAST:%5.0lf Last\\l"
919                 },
920
921                 mysql_threads = {
922                         "-v", "Threads",
923                         "DEF:running_min={file}:running:MIN",
924                         "DEF:running_avg={file}:running:AVERAGE",
925                         "DEF:running_max={file}:running:MAX",
926                         "DEF:connected_min={file}:connected:MIN",
927                         "DEF:connected_avg={file}:connected:AVERAGE",
928                         "DEF:connected_max={file}:connected:MAX",
929                         "DEF:cached_min={file}:cached:MIN",
930                         "DEF:cached_avg={file}:cached:AVERAGE",
931                         "DEF:cached_max={file}:cached:MAX",
932                         "DEF:created_min={file}:created:MIN",
933                         "DEF:created_avg={file}:created:AVERAGE",
934                         "DEF:created_max={file}:created:MAX",
935                         "CDEF:unknown=created_avg,UNKN,+",
936                         "CDEF:cached_agg=connected_avg,cached_avg,+",
937                         "AREA:cached_agg#" .. self.palette.HalfGreen,
938                         "AREA:connected_avg#" .. self.palette.HalfBlue,
939                         "AREA:running_avg#" .. self.palette.HalfRed,
940                         "LINE1:cached_agg#" .. self.palette.FullGreen .. ":Cached   ",
941                         "GPRINT:cached_min:MIN:%5.1lf Min,",
942                         "GPRINT:cached_avg:AVERAGE:%5.1lf Avg,",
943                         "GPRINT:cached_max:MAX:%5.1lf Max,",
944                         "GPRINT:cached_avg:LAST:%5.1lf Last\\l",
945                         "LINE1:connected_avg#" .. self.palette.FullBlue .. ":Connected",
946                         "GPRINT:connected_min:MIN:%5.1lf Min,",
947                         "GPRINT:connected_avg:AVERAGE:%5.1lf Avg,",
948                         "GPRINT:connected_max:MAX:%5.1lf Max,",
949                         "GPRINT:connected_avg:LAST:%5.1lf Last\\l",
950                         "LINE1:running_avg#" .. self.palette.FullRed .. ":Running  ",
951                         "GPRINT:running_min:MIN:%5.1lf Min,",
952                         "GPRINT:running_avg:AVERAGE:%5.1lf Avg,",
953                         "GPRINT:running_max:MAX:%5.1lf Max,",
954                         "GPRINT:running_avg:LAST:%5.1lf Last\\l",
955                         "LINE1:unknown#" .. self.palette.Canvas .. ":Created  ",
956                         "GPRINT:created_min:MIN:%5.0lf Min,",
957                         "GPRINT:created_avg:AVERAGE:%5.0lf Avg,",
958                         "GPRINT:created_max:MAX:%5.0lf Max,",
959                         "GPRINT:created_avg:LAST:%5.0lf Last\\l"
960                 },
961
962                 nfs_procedure = {
963                         "-v", "Issues/s",
964                         "DEF:avg={file}:value:AVERAGE",
965                         "DEF:min={file}:value:MIN",
966                         "DEF:max={file}:value:MAX",
967                         "AREA:max#" .. self.palette.HalfBlue,
968                         "AREA:min#" .. self.palette.Canvas,
969                         "LINE1:avg#" .. self.palette.FullBlue .. ":Issues/s",
970                         "GPRINT:min:MIN:%6.2lf Min,",
971                         "GPRINT:avg:AVERAGE:%6.2lf Avg,",
972                         "GPRINT:max:MAX:%6.2lf Max,",
973                         "GPRINT:avg:LAST:%6.2lf Last\\l"
974                 },
975
976                 nfs3_procedures = {
977                         "DEF:null_avg={file}:null:AVERAGE",
978                         "DEF:getattr_avg={file}:getattr:AVERAGE",
979                         "DEF:setattr_avg={file}:setattr:AVERAGE",
980                         "DEF:lookup_avg={file}:lookup:AVERAGE",
981                         "DEF:access_avg={file}:access:AVERAGE",
982                         "DEF:readlink_avg={file}:readlink:AVERAGE",
983                         "DEF:read_avg={file}:read:AVERAGE",
984                         "DEF:write_avg={file}:write:AVERAGE",
985                         "DEF:create_avg={file}:create:AVERAGE",
986                         "DEF:mkdir_avg={file}:mkdir:AVERAGE",
987                         "DEF:symlink_avg={file}:symlink:AVERAGE",
988                         "DEF:mknod_avg={file}:mknod:AVERAGE",
989                         "DEF:remove_avg={file}:remove:AVERAGE",
990                         "DEF:rmdir_avg={file}:rmdir:AVERAGE",
991                         "DEF:rename_avg={file}:rename:AVERAGE",
992                         "DEF:link_avg={file}:link:AVERAGE",
993                         "DEF:readdir_avg={file}:readdir:AVERAGE",
994                         "DEF:readdirplus_avg={file}:readdirplus:AVERAGE",
995                         "DEF:fsstat_avg={file}:fsstat:AVERAGE",
996                         "DEF:fsinfo_avg={file}:fsinfo:AVERAGE",
997                         "DEF:pathconf_avg={file}:pathconf:AVERAGE",
998                         "DEF:commit_avg={file}:commit:AVERAGE",
999                         "DEF:null_max={file}:null:MAX",
1000                         "DEF:getattr_max={file}:getattr:MAX",
1001                         "DEF:setattr_max={file}:setattr:MAX",
1002                         "DEF:lookup_max={file}:lookup:MAX",
1003                         "DEF:access_max={file}:access:MAX",
1004                         "DEF:readlink_max={file}:readlink:MAX",
1005                         "DEF:read_max={file}:read:MAX",
1006                         "DEF:write_max={file}:write:MAX",
1007                         "DEF:create_max={file}:create:MAX",
1008                         "DEF:mkdir_max={file}:mkdir:MAX",
1009                         "DEF:symlink_max={file}:symlink:MAX",
1010                         "DEF:mknod_max={file}:mknod:MAX",
1011                         "DEF:remove_max={file}:remove:MAX",
1012                         "DEF:rmdir_max={file}:rmdir:MAX",
1013                         "DEF:rename_max={file}:rename:MAX",
1014                         "DEF:link_max={file}:link:MAX",
1015                         "DEF:readdir_max={file}:readdir:MAX",
1016                         "DEF:readdirplus_max={file}:readdirplus:MAX",
1017                         "DEF:fsstat_max={file}:fsstat:MAX",
1018                         "DEF:fsinfo_max={file}:fsinfo:MAX",
1019                         "DEF:pathconf_max={file}:pathconf:MAX",
1020                         "DEF:commit_max={file}:commit:MAX",
1021                         "CDEF:other_avg=null_avg,readlink_avg,create_avg,mkdir_avg,symlink_avg,mknod_avg,remove_avg,rmdir_avg,rename_avg,link_avg,readdir_avg,readdirplus_avg,fsstat_avg,fsinfo_avg,pathconf_avg,+,+,+,+,+,+,+,+,+,+,+,+,+,+",
1022                         "CDEF:other_max=null_max,readlink_max,create_max,mkdir_max,symlink_max,mknod_max,remove_max,rmdir_max,rename_max,link_max,readdir_max,readdirplus_max,fsstat_max,fsinfo_max,pathconf_max,+,+,+,+,+,+,+,+,+,+,+,+,+,+",
1023                         "CDEF:stack_read=read_avg",
1024                         "CDEF:stack_getattr=stack_read,getattr_avg,+",
1025                         "CDEF:stack_access=stack_getattr,access_avg,+",
1026                         "CDEF:stack_lookup=stack_access,lookup_avg,+",
1027                         "CDEF:stack_write=stack_lookup,write_avg,+",
1028                         "CDEF:stack_commit=stack_write,commit_avg,+",
1029                         "CDEF:stack_setattr=stack_commit,setattr_avg,+",
1030                         "CDEF:stack_other=stack_setattr,other_avg,+",
1031                         "AREA:stack_other#" .. self.palette.HalfRed,
1032                         "AREA:stack_setattr#" .. self.palette.HalfGreen,
1033                         "AREA:stack_commit#" .. self.palette.HalfYellow,
1034                         "AREA:stack_write#" .. self.palette.HalfGreen,
1035                         "AREA:stack_lookup#" .. self.palette.HalfBlue,
1036                         "AREA:stack_access#" .. self.palette.HalfMagenta,
1037                         "AREA:stack_getattr#" .. self.palette.HalfCyan,
1038                         "AREA:stack_read#" .. self.palette.HalfBlue,
1039                         "LINE1:stack_other#" .. self.palette.FullRed .. ":Other  ",
1040                         "GPRINT:other_max:MAX:%5.1lf Max,",
1041                         "GPRINT:other_avg:AVERAGE:%5.1lf Avg,",
1042                         "GPRINT:other_avg:LAST:%5.1lf Last\\l",
1043                         "LINE1:stack_setattr#" .. self.palette.FullGreen .. ":setattr",
1044                         "GPRINT:setattr_max:MAX:%5.1lf Max,",
1045                         "GPRINT:setattr_avg:AVERAGE:%5.1lf Avg,",
1046                         "GPRINT:setattr_avg:LAST:%5.1lf Last\\l",
1047                         "LINE1:stack_commit#" .. self.palette.FullYellow .. ":commit ",
1048                         "GPRINT:commit_max:MAX:%5.1lf Max,",
1049                         "GPRINT:commit_avg:AVERAGE:%5.1lf Avg,",
1050                         "GPRINT:commit_avg:LAST:%5.1lf Last\\l",
1051                         "LINE1:stack_write#" .. self.palette.FullGreen .. ":write  ",
1052                         "GPRINT:write_max:MAX:%5.1lf Max,",
1053                         "GPRINT:write_avg:AVERAGE:%5.1lf Avg,",
1054                         "GPRINT:write_avg:LAST:%5.1lf Last\\l",
1055                         "LINE1:stack_lookup#" .. self.palette.FullBlue .. ":lookup ",
1056                         "GPRINT:lookup_max:MAX:%5.1lf Max,",
1057                         "GPRINT:lookup_avg:AVERAGE:%5.1lf Avg,",
1058                         "GPRINT:lookup_avg:LAST:%5.1lf Last\\l",
1059                         "LINE1:stack_access#" .. self.palette.FullMagenta .. ":access ",
1060                         "GPRINT:access_max:MAX:%5.1lf Max,",
1061                         "GPRINT:access_avg:AVERAGE:%5.1lf Avg,",
1062                         "GPRINT:access_avg:LAST:%5.1lf Last\\l",
1063                         "LINE1:stack_getattr#" .. self.palette.FullCyan .. ":getattr",
1064                         "GPRINT:getattr_max:MAX:%5.1lf Max,",
1065                         "GPRINT:getattr_avg:AVERAGE:%5.1lf Avg,",
1066                         "GPRINT:getattr_avg:LAST:%5.1lf Last\\l",
1067                         "LINE1:stack_read#" .. self.palette.FullBlue .. ":read   ",
1068                         "GPRINT:read_max:MAX:%5.1lf Max,",
1069                         "GPRINT:read_avg:AVERAGE:%5.1lf Avg,",
1070                         "GPRINT:read_avg:LAST:%5.1lf Last\\l"
1071                 },
1072
1073                 partition = {
1074                         "DEF:rbyte_avg={file}:rbytes:AVERAGE",
1075                         "DEF:rbyte_min={file}:rbytes:MIN",
1076                         "DEF:rbyte_max={file}:rbytes:MAX",
1077                         "DEF:wbyte_avg={file}:wbytes:AVERAGE",
1078                         "DEF:wbyte_min={file}:wbytes:MIN",
1079                         "DEF:wbyte_max={file}:wbytes:MAX",
1080                         "CDEF:overlap=wbyte_avg,rbyte_avg,GT,rbyte_avg,wbyte_avg,IF",
1081                         "AREA:wbyte_avg#" .. self.palette.HalfGreen,
1082                         "AREA:rbyte_avg#" .. self.palette.HalfBlue,
1083                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
1084                         "LINE1:wbyte_avg#" .. self.palette.FullGreen .. ":Write",
1085                         "GPRINT:wbyte_min:MIN:%5.1lf%s Min,",
1086                         "GPRINT:wbyte_avg:AVERAGE:%5.1lf%s Avg,",
1087                         "GPRINT:wbyte_max:MAX:%5.1lf%s Max,",
1088                         "GPRINT:wbyte_avg:LAST:%5.1lf%s Last\\l",
1089                         "LINE1:rbyte_avg#" .. self.palette.FullBlue .. ":Read ",
1090                         "GPRINT:rbyte_min:MIN:%5.1lf%s Min,",
1091                         "GPRINT:rbyte_avg:AVERAGE:%5.1lf%s Avg,",
1092                         "GPRINT:rbyte_max:MAX:%5.1lf%s Max,",
1093                         "GPRINT:rbyte_avg:LAST:%5.1lf%s Last\\l"
1094                 },
1095
1096                 percent = {
1097                         "-v", "Percent",
1098                         "DEF:avg={file}:percent:AVERAGE",
1099                         "DEF:min={file}:percent:MIN",
1100                         "DEF:max={file}:percent:MAX",
1101                         "AREA:max#" .. self.palette.HalfBlue,
1102                         "AREA:min#" .. self.palette.Canvas,
1103                         "LINE1:avg#" .. self.palette.FullBlue .. ":Percent",
1104                         "GPRINT:min:MIN:%5.1lf%% Min,",
1105                         "GPRINT:avg:AVERAGE:%5.1lf%% Avg,",
1106                         "GPRINT:max:MAX:%5.1lf%% Max,",
1107                         "GPRINT:avg:LAST:%5.1lf%% Last\\l"
1108                 },
1109
1110                 ping = {
1111                         "DEF:ping_avg={file}:ping:AVERAGE",
1112                         "DEF:ping_min={file}:ping:MIN",
1113                         "DEF:ping_max={file}:ping:MAX",
1114                         "AREA:ping_max#" .. self.palette.HalfBlue,
1115                         "AREA:ping_min#" .. self.palette.Canvas,
1116                         "LINE1:ping_avg#" .. self.palette.FullBlue .. ":Ping",
1117                         "GPRINT:ping_min:MIN:%4.1lf ms Min,",
1118                         "GPRINT:ping_avg:AVERAGE:%4.1lf ms Avg,",
1119                         "GPRINT:ping_max:MAX:%4.1lf ms Max,",
1120                         "GPRINT:ping_avg:LAST:%4.1lf ms Last\\l"
1121                 },
1122
1123                 power = {
1124                         "-v", "Watt",
1125                         "DEF:avg={file}:value:AVERAGE",
1126                         "DEF:min={file}:value:MIN",
1127                         "DEF:max={file}:value:MAX",
1128                         "AREA:max#" .. self.palette.HalfBlue,
1129                         "AREA:min#" .. self.palette.Canvas,
1130                         "LINE1:avg#" .. self.palette.FullBlue .. ":Watt",
1131                         "GPRINT:min:MIN:%5.1lf%sW Min,",
1132                         "GPRINT:avg:AVERAGE:%5.1lf%sW Avg,",
1133                         "GPRINT:max:MAX:%5.1lf%sW Max,",
1134                         "GPRINT:avg:LAST:%5.1lf%sW Last\\l"
1135                 },
1136
1137                 _processes = {
1138                         "DEF:running_avg={file}:running:AVERAGE",
1139                         "DEF:running_min={file}:running:MIN",
1140                         "DEF:running_max={file}:running:MAX",
1141                         "DEF:sleeping_avg={file}:sleeping:AVERAGE",
1142                         "DEF:sleeping_min={file}:sleeping:MIN",
1143                         "DEF:sleeping_max={file}:sleeping:MAX",
1144                         "DEF:zombies_avg={file}:zombies:AVERAGE",
1145                         "DEF:zombies_min={file}:zombies:MIN",
1146                         "DEF:zombies_max={file}:zombies:MAX",
1147                         "DEF:stopped_avg={file}:stopped:AVERAGE",
1148                         "DEF:stopped_min={file}:stopped:MIN",
1149                         "DEF:stopped_max={file}:stopped:MAX",
1150                         "DEF:paging_avg={file}:paging:AVERAGE",
1151                         "DEF:paging_min={file}:paging:MIN",
1152                         "DEF:paging_max={file}:paging:MAX",
1153                         "DEF:blocked_avg={file}:blocked:AVERAGE",
1154                         "DEF:blocked_min={file}:blocked:MIN",
1155                         "DEF:blocked_max={file}:blocked:MAX",
1156                         "CDEF:paging_acc=sleeping_avg,running_avg,stopped_avg,zombies_avg,blocked_avg,paging_avg,+,+,+,+,+",
1157                         "CDEF:blocked_acc=sleeping_avg,running_avg,stopped_avg,zombies_avg,blocked_avg,+,+,+,+",
1158                         "CDEF:zombies_acc=sleeping_avg,running_avg,stopped_avg,zombies_avg,+,+,+",
1159                         "CDEF:stopped_acc=sleeping_avg,running_avg,stopped_avg,+,+",
1160                         "CDEF:running_acc=sleeping_avg,running_avg,+",
1161                         "CDEF:sleeping_acc=sleeping_avg",
1162                         "AREA:paging_acc#" .. self.palette.HalfYellow,
1163                         "AREA:blocked_acc#" .. self.palette.HalfCyan,
1164                         "AREA:zombies_acc#" .. self.palette.HalfRed,
1165                         "AREA:stopped_acc#" .. self.palette.HalfMagenta,
1166                         "AREA:running_acc#" .. self.palette.HalfGreen,
1167                         "AREA:sleeping_acc#" .. self.palette.HalfBlue,
1168                         "LINE1:paging_acc#" .. self.palette.FullYellow .. ":Paging  ",
1169                         "GPRINT:paging_min:MIN:%5.1lf Min,",
1170                         "GPRINT:paging_avg:AVERAGE:%5.1lf Average,",
1171                         "GPRINT:paging_max:MAX:%5.1lf Max,",
1172                         "GPRINT:paging_avg:LAST:%5.1lf Last\\l",
1173                         "LINE1:blocked_acc#" .. self.palette.FullCyan .. ":Blocked ",
1174                         "GPRINT:blocked_min:MIN:%5.1lf Min,",
1175                         "GPRINT:blocked_avg:AVERAGE:%5.1lf Average,",
1176                         "GPRINT:blocked_max:MAX:%5.1lf Max,",
1177                         "GPRINT:blocked_avg:LAST:%5.1lf Last\\l",
1178                         "LINE1:zombies_acc#" .. self.palette.FullRed .. ":Zombies ",
1179                         "GPRINT:zombies_min:MIN:%5.1lf Min,",
1180                         "GPRINT:zombies_avg:AVERAGE:%5.1lf Average,",
1181                         "GPRINT:zombies_max:MAX:%5.1lf Max,",
1182                         "GPRINT:zombies_avg:LAST:%5.1lf Last\\l",
1183                         "LINE1:stopped_acc#" .. self.palette.FullMagenta .. ":Stopped ",
1184                         "GPRINT:stopped_min:MIN:%5.1lf Min,",
1185                         "GPRINT:stopped_avg:AVERAGE:%5.1lf Average,",
1186                         "GPRINT:stopped_max:MAX:%5.1lf Max,",
1187                         "GPRINT:stopped_avg:LAST:%5.1lf Last\\l",
1188                         "LINE1:running_acc#" .. self.palette.FullGreen .. ":Running ",
1189                         "GPRINT:running_min:MIN:%5.1lf Min,",
1190                         "GPRINT:running_avg:AVERAGE:%5.1lf Average,",
1191                         "GPRINT:running_max:MAX:%5.1lf Max,",
1192                         "GPRINT:running_avg:LAST:%5.1lf Last\\l",
1193                         "LINE1:sleeping_acc#" .. self.palette.FullBlue .. ":Sleeping",
1194                         "GPRINT:sleeping_min:MIN:%5.1lf Min,",
1195                         "GPRINT:sleeping_avg:AVERAGE:%5.1lf Average,",
1196                         "GPRINT:sleeping_max:MAX:%5.1lf Max,",
1197                         "GPRINT:sleeping_avg:LAST:%5.1lf Last\\l"
1198                 },
1199
1200                 ps_count = {
1201                         "-v", "Processes",
1202                         "DEF:procs_avg={file}:processes:AVERAGE",
1203                         "DEF:procs_min={file}:processes:MIN",
1204                         "DEF:procs_max={file}:processes:MAX",
1205                         "DEF:thrds_avg={file}:threads:AVERAGE",
1206                         "DEF:thrds_min={file}:threads:MIN",
1207                         "DEF:thrds_max={file}:threads:MAX",
1208                         "AREA:thrds_avg#" .. self.palette.HalfBlue,
1209                         "AREA:procs_avg#" .. self.palette.HalfRed,
1210                         "LINE1:thrds_avg#" .. self.palette.FullBlue .. ":Threads  ",
1211                         "GPRINT:thrds_min:MIN:%5.1lf Min,",
1212                         "GPRINT:thrds_avg:AVERAGE:%5.1lf Avg,",
1213                         "GPRINT:thrds_max:MAX:%5.1lf Max,",
1214                         "GPRINT:thrds_avg:LAST:%5.1lf Last\\l",
1215                         "LINE1:procs_avg#" .. self.palette.FullRed .. ":Processes",
1216                         "GPRINT:procs_min:MIN:%5.1lf Min,",
1217                         "GPRINT:procs_avg:AVERAGE:%5.1lf Avg,",
1218                         "GPRINT:procs_max:MAX:%5.1lf Max,",
1219                         "GPRINT:procs_avg:LAST:%5.1lf Last\\l"
1220                 },
1221
1222                 ps_cputime = {
1223                         "-v", "Jiffies",
1224                         "DEF:user_avg_raw={file}:user:AVERAGE",
1225                         "DEF:user_min_raw={file}:user:MIN",
1226                         "DEF:user_max_raw={file}:user:MAX",
1227                         "DEF:syst_avg_raw={file}:syst:AVERAGE",
1228                         "DEF:syst_min_raw={file}:syst:MIN",
1229                         "DEF:syst_max_raw={file}:syst:MAX",
1230                         "CDEF:user_avg=user_avg_raw,1000000,/",
1231                         "CDEF:user_min=user_min_raw,1000000,/",
1232                         "CDEF:user_max=user_max_raw,1000000,/",
1233                         "CDEF:syst_avg=syst_avg_raw,1000000,/",
1234                         "CDEF:syst_min=syst_min_raw,1000000,/",
1235                         "CDEF:syst_max=syst_max_raw,1000000,/",
1236                         "CDEF:user_syst=syst_avg,UN,0,syst_avg,IF,user_avg,+",
1237                         "AREA:user_syst#" .. self.palette.HalfBlue,
1238                         "AREA:syst_avg#" .. self.palette.HalfRed,
1239                         "LINE1:user_syst#" .. self.palette.FullBlue .. ":User  ",
1240                         "GPRINT:user_min:MIN:%5.1lf%s Min,",
1241                         "GPRINT:user_avg:AVERAGE:%5.1lf%s Avg,",
1242                         "GPRINT:user_max:MAX:%5.1lf%s Max,",
1243                         "GPRINT:user_avg:LAST:%5.1lf%s Last\\l",
1244                         "LINE1:syst_avg#" .. self.palette.FullRed .. ":System",
1245                         "GPRINT:syst_min:MIN:%5.1lf%s Min,",
1246                         "GPRINT:syst_avg:AVERAGE:%5.1lf%s Avg,",
1247                         "GPRINT:syst_max:MAX:%5.1lf%s Max,",
1248                         "GPRINT:syst_avg:LAST:%5.1lf%s Last\\l"
1249                 },
1250
1251                 ps_pagefaults = {
1252                         "-v", "Pagefaults/s",
1253                         "DEF:minor_avg={file}:minflt:AVERAGE",
1254                         "DEF:minor_min={file}:minflt:MIN",
1255                         "DEF:minor_max={file}:minflt:MAX",
1256                         "DEF:major_avg={file}:majflt:AVERAGE",
1257                         "DEF:major_min={file}:majflt:MIN",
1258                         "DEF:major_max={file}:majflt:MAX",
1259                         "CDEF:minor_major=major_avg,UN,0,major_avg,IF,minor_avg,+",
1260                         "AREA:minor_major#" .. self.palette.HalfBlue,
1261                         "AREA:major_avg#" .. self.palette.HalfRed,
1262                         "LINE1:minor_major#" .. self.palette.FullBlue .. ":Minor",
1263                         "GPRINT:minor_min:MIN:%5.1lf%s Min,",
1264                         "GPRINT:minor_avg:AVERAGE:%5.1lf%s Avg,",
1265                         "GPRINT:minor_max:MAX:%5.1lf%s Max,",
1266                         "GPRINT:minor_avg:LAST:%5.1lf%s Last\\l",
1267                         "LINE1:major_avg#" .. self.palette.FullRed .. ":Major",
1268                         "GPRINT:major_min:MIN:%5.1lf%s Min,",
1269                         "GPRINT:major_avg:AVERAGE:%5.1lf%s Avg,",
1270                         "GPRINT:major_max:MAX:%5.1lf%s Max,",
1271                         "GPRINT:major_avg:LAST:%5.1lf%s Last\\l"
1272                 },
1273
1274                 ps_rss = {
1275                         "-v", "Bytes",
1276                         "DEF:avg={file}:value:AVERAGE",
1277                         "DEF:min={file}:value:MIN",
1278                         "DEF:max={file}:value:MAX",
1279                         "AREA:avg#" .. self.palette.HalfBlue,
1280                         "LINE1:avg#" .. self.palette.FullBlue .. ":RSS",
1281                         "GPRINT:min:MIN:%5.1lf%s Min,",
1282                         "GPRINT:avg:AVERAGE:%5.1lf%s Avg,",
1283                         "GPRINT:max:MAX:%5.1lf%s Max,",
1284                         "GPRINT:avg:LAST:%5.1lf%s Last\\l"
1285                 },
1286
1287                 _ps_state = {
1288                         "-v", "Processes",
1289                         "DEF:avg={file}:value:AVERAGE",
1290                         "DEF:min={file}:value:MIN",
1291                         "DEF:max={file}:value:MAX",
1292                         "AREA:max#" .. self.palette.HalfBlue,
1293                         "AREA:min#" .. self.palette.Canvas,
1294                         "LINE1:avg#" .. self.palette.FullBlue .. ":Processes",
1295                         "GPRINT:min:MIN:%6.2lf Min,",
1296                         "GPRINT:avg:AVERAGE:%6.2lf Avg,",
1297                         "GPRINT:max:MAX:%6.2lf Max,",
1298                         "GPRINT:avg:LAST:%6.2lf Last\\l"
1299                 },
1300
1301                 _signal_noise = {
1302                         "-v", "dBm",
1303                         "DEF:avg={file}:value:AVERAGE",
1304                         "DEF:min={file}:value:MIN",
1305                         "DEF:max={file}:value:MAX",
1306                         "AREA:max#" .. self.palette.HalfBlue,
1307                         "AREA:min#" .. self.palette.Canvas,
1308                         "LINE1:avg#" .. self.palette.FullBlue .. ":Noise",
1309                         "GPRINT:min:MIN:%5.1lf%sdBm Min,",
1310                         "GPRINT:avg:AVERAGE:%5.1lf%sdBm Avg,",
1311                         "GPRINT:max:MAX:%5.1lf%sdBm Max,",
1312                         "GPRINT:avg:LAST:%5.1lf%sdBm Last\\l"
1313                 },
1314
1315                 _signal_power = {
1316                         "-v", "dBm",
1317                         "DEF:avg={file}:value:AVERAGE",
1318                         "DEF:min={file}:value:MIN",
1319                         "DEF:max={file}:value:MAX",
1320                         "AREA:max#" .. self.palette.HalfBlue,
1321                         "AREA:min#" .. self.palette.Canvas,
1322                         "LINE1:avg#" .. self.palette.FullBlue .. ":Power",
1323                         "GPRINT:min:MIN:%5.1lf%sdBm Min,",
1324                         "GPRINT:avg:AVERAGE:%5.1lf%sdBm Avg,",
1325                         "GPRINT:max:MAX:%5.1lf%sdBm Max,",
1326                         "GPRINT:avg:LAST:%5.1lf%sdBm Last\\l"
1327                 },
1328
1329                 _signal_quality = {
1330                         "-v", "%",
1331                         "DEF:avg={file}:value:AVERAGE",
1332                         "DEF:min={file}:value:MIN",
1333                         "DEF:max={file}:value:MAX",
1334                         "AREA:max#" .. self.palette.HalfBlue,
1335                         "AREA:min#" .. self.palette.Canvas,
1336                         "LINE1:avg#" .. self.palette.FullBlue .. ":Quality",
1337                         "GPRINT:min:MIN:%5.1lf%s%% Min,",
1338                         "GPRINT:avg:AVERAGE:%5.1lf%s%% Avg,",
1339                         "GPRINT:max:MAX:%5.1lf%s%% Max,",
1340                         "GPRINT:avg:LAST:%5.1lf%s%% Last\\l"
1341                 },
1342
1343                 swap = {
1344                         "-v", "Bytes", "-b", "1024",
1345                         "DEF:avg={file}:value:AVERAGE",
1346                         "DEF:min={file}:value:MIN",
1347                         "DEF:max={file}:value:MAX",
1348                         "AREA:max#" .. self.palette.HalfBlue,
1349                         "AREA:min#" .. self.palette.Canvas,
1350                         "LINE1:avg#" .. self.palette.FullBlue .. ":Bytes",
1351                         "GPRINT:min:MIN:%6.2lf%sByte Min,",
1352                         "GPRINT:avg:AVERAGE:%6.2lf%sByte Avg,",
1353                         "GPRINT:max:MAX:%6.2lf%sByte Max,",
1354                         "GPRINT:avg:LAST:%6.2lf%sByte Last\\l"
1355                 },
1356
1357                 old_swap = {
1358                         "DEF:used_avg={file}:used:AVERAGE",
1359                         "DEF:used_min={file}:used:MIN",
1360                         "DEF:used_max={file}:used:MAX",
1361                         "DEF:free_avg={file}:free:AVERAGE",
1362                         "DEF:free_min={file}:free:MIN",
1363                         "DEF:free_max={file}:free:MAX",
1364                         "DEF:cach_avg={file}:cached:AVERAGE",
1365                         "DEF:cach_min={file}:cached:MIN",
1366                         "DEF:cach_max={file}:cached:MAX",
1367                         "DEF:resv_avg={file}:resv:AVERAGE",
1368                         "DEF:resv_min={file}:resv:MIN",
1369                         "DEF:resv_max={file}:resv:MAX",
1370                         "CDEF:cach_avg_notnull=cach_avg,UN,0,cach_avg,IF",
1371                         "CDEF:resv_avg_notnull=resv_avg,UN,0,resv_avg,IF",
1372                         "CDEF:used_acc=used_avg",
1373                         "CDEF:resv_acc=used_acc,resv_avg_notnull,+",
1374                         "CDEF:cach_acc=resv_acc,cach_avg_notnull,+",
1375                         "CDEF:free_acc=cach_acc,free_avg,+",
1376                         "AREA:free_acc#" .. self.palette.HalfGreen,
1377                         "AREA:cach_acc#" .. self.palette.HalfBlue,
1378                         "AREA:resv_acc#" .. self.palette.HalfYellow,
1379                         "AREA:used_acc#" .. self.palette.HalfRed,
1380                         "LINE1:free_acc#" .. self.palette.FullGreen .. ":Free    ",
1381                         "GPRINT:free_min:MIN:%5.1lf%s Min,",
1382                         "GPRINT:free_avg:AVERAGE:%5.1lf%s Avg,",
1383                         "GPRINT:free_max:MAX:%5.1lf%s Max,",
1384                         "GPRINT:free_avg:LAST:%5.1lf%s Last\n",
1385                         "LINE1:cach_acc#" .. self.palette.FullBlue .. ":Cached  ",
1386                         "GPRINT:cach_min:MIN:%5.1lf%s Min,",
1387                         "GPRINT:cach_avg:AVERAGE:%5.1lf%s Avg,",
1388                         "GPRINT:cach_max:MAX:%5.1lf%s Max,",
1389                         "GPRINT:cach_avg:LAST:%5.1lf%s Last\\l",
1390                         "LINE1:resv_acc#" .. self.palette.FullYellow .. ":Reserved",
1391                         "GPRINT:resv_min:MIN:%5.1lf%s Min,",
1392                         "GPRINT:resv_avg:AVERAGE:%5.1lf%s Avg,",
1393                         "GPRINT:resv_max:MAX:%5.1lf%s Max,",
1394                         "GPRINT:resv_avg:LAST:%5.1lf%s Last\n",
1395                         "LINE1:used_acc#" .. self.palette.FullRed .. ":Used    ",
1396                         "GPRINT:used_min:MIN:%5.1lf%s Min,",
1397                         "GPRINT:used_avg:AVERAGE:%5.1lf%s Avg,",
1398                         "GPRINT:used_max:MAX:%5.1lf%s Max,",
1399                         "GPRINT:used_avg:LAST:%5.1lf%s Last\\l"
1400                 },
1401
1402                 tcp_connections = {
1403                         "-v", "Connections",
1404                         "DEF:avg={file}:value:AVERAGE",
1405                         "DEF:min={file}:value:MIN",
1406                         "DEF:max={file}:value:MAX",
1407                         "AREA:max#" .. self.palette.HalfBlue,
1408                         "AREA:min#" .. self.palette.Canvas,
1409                         "LINE1:avg#" .. self.palette.FullBlue .. ":Connections",
1410                         "GPRINT:min:MIN:%4.1lf Min,",
1411                         "GPRINT:avg:AVERAGE:%4.1lf Avg,",
1412                         "GPRINT:max:MAX:%4.1lf Max,",
1413                         "GPRINT:avg:LAST:%4.1lf Last\\l"
1414                 },
1415
1416                 temperature = {
1417                         "-v", "Celsius",
1418                         "DEF:temp_avg={file}:value:AVERAGE",
1419                         "DEF:temp_min={file}:value:MIN",
1420                         "DEF:temp_max={file}:value:MAX",
1421                         "CDEF:average=temp_avg,0.2,*,PREV,UN,temp_avg,PREV,IF,0.8,*,+",
1422                         "AREA:temp_max#" .. self.palette.HalfRed,
1423                         "AREA:temp_min#" .. self.palette.Canvas,
1424                         "LINE1:temp_avg#" .. self.palette.FullRed .. ":Temperature",
1425                         "GPRINT:temp_min:MIN:%4.1lf Min,",
1426                         "GPRINT:temp_avg:AVERAGE:%4.1lf Avg,",
1427                         "GPRINT:temp_max:MAX:%4.1lf Max,",
1428                         "GPRINT:temp_avg:LAST:%4.1lf Last\\l"
1429                 },
1430
1431                 timeleft = {
1432                         "-v", "Minutes",
1433                         "DEF:avg={file}:timeleft:AVERAGE",
1434                         "DEF:min={file}:timeleft:MIN",
1435                         "DEF:max={file}:timeleft:MAX",
1436                         "AREA:max#" .. self.palette.HalfBlue,
1437                         "AREA:min#" .. self.palette.Canvas,
1438                         "LINE1:avg#" .. self.palette.FullBlue .. ":Time left [min]",
1439                         "GPRINT:min:MIN:%5.1lf%s Min,",
1440                         "GPRINT:avg:AVERAGE:%5.1lf%s Avg,",
1441                         "GPRINT:max:MAX:%5.1lf%s Max,",
1442                         "GPRINT:avg:LAST:%5.1lf%s Last\\l"
1443                 },
1444
1445                 time_offset = {
1446                         "DEF:s_avg={file}:seconds:AVERAGE",
1447                         "DEF:s_min={file}:seconds:MIN",
1448                         "DEF:s_max={file}:seconds:MAX",
1449                         "AREA:s_max#" .. self.palette.HalfBlue,
1450                         "AREA:s_min#" .. self.palette.Canvas,
1451                         "LINE1:s_avg#" .. self.palette.FullBlue .. ":{inst}",
1452                         "GPRINT:s_min:MIN:%7.3lf%s Min,",
1453                         "GPRINT:s_avg:AVERAGE:%7.3lf%s Avg,",
1454                         "GPRINT:s_max:MAX:%7.3lf%s Max,",
1455                         "GPRINT:s_avg:LAST:%7.3lf%s Last\\l"
1456                 },
1457
1458                 if_octets = {
1459                         "-v", "Bits/s", "-l", "0",
1460                         "DEF:out_min_raw={file}:tx:MIN",
1461                         "DEF:out_avg_raw={file}:tx:AVERAGE",
1462                         "DEF:out_max_raw={file}:tx:MAX",
1463                         "DEF:inc_min_raw={file}:rx:MIN",
1464                         "DEF:inc_avg_raw={file}:rx:AVERAGE",
1465                         "DEF:inc_max_raw={file}:rx:MAX",
1466                         "CDEF:out_min=out_min_raw,8,*",
1467                         "CDEF:out_avg=out_avg_raw,8,*",
1468                         "CDEF:out_max=out_max_raw,8,*",
1469                         "CDEF:inc_min=inc_min_raw,8,*",
1470                         "CDEF:inc_avg=inc_avg_raw,8,*",
1471                         "CDEF:inc_max=inc_max_raw,8,*",
1472                         "CDEF:overlap=out_avg,inc_avg,GT,inc_avg,out_avg,IF",
1473                         "CDEF:mytime=out_avg_raw,TIME,TIME,IF",
1474                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
1475                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
1476                         "CDEF:out_avg_sample=out_avg_raw,UN,0,out_avg_raw,IF,sample_len,*",
1477                         "CDEF:out_avg_sum=PREV,UN,0,PREV,IF,out_avg_sample,+",
1478                         "CDEF:inc_avg_sample=inc_avg_raw,UN,0,inc_avg_raw,IF,sample_len,*",
1479                         "CDEF:inc_avg_sum=PREV,UN,0,PREV,IF,inc_avg_sample,+",
1480                         "AREA:out_avg#" .. self.palette.HalfGreen,
1481                         "AREA:inc_avg#" .. self.palette.HalfBlue,
1482                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
1483                         "LINE1:out_avg#" .. self.palette.FullGreen .. ":Outgoing",
1484                         "GPRINT:out_avg:AVERAGE:%5.1lf%s Avg,",
1485                         "GPRINT:out_max:MAX:%5.1lf%s Max,",
1486                         "GPRINT:out_avg:LAST:%5.1lf%s Last",
1487                         "GPRINT:out_avg_sum:LAST:(ca. %5.1lf%sB Total)\\l",
1488                         "LINE1:inc_avg#" .. self.palette.FullBlue .. ":Incoming",
1489                         --"GPRINT:inc_min:MIN:%5.1lf %s Min,",
1490                         "GPRINT:inc_avg:AVERAGE:%5.1lf%s Avg,",
1491                         "GPRINT:inc_max:MAX:%5.1lf%s Max,",
1492                         "GPRINT:inc_avg:LAST:%5.1lf%s Last",
1493                         "GPRINT:inc_avg_sum:LAST:(ca. %5.1lf%sB Total)\\l"
1494                 },
1495
1496                 cpufreq = {
1497                         "DEF:cpufreq_avg={file}:value:AVERAGE",
1498                         "DEF:cpufreq_min={file}:value:MIN",
1499                         "DEF:cpufreq_max={file}:value:MAX",
1500                         "AREA:cpufreq_max#" .. self.palette.HalfBlue,
1501                         "AREA:cpufreq_min#" .. self.palette.Canvas,
1502                         "LINE1:cpufreq_avg#" .. self.palette.FullBlue .. ":Frequency",
1503                         "GPRINT:cpufreq_min:MIN:%5.1lf%s Min,",
1504                         "GPRINT:cpufreq_avg:AVERAGE:%5.1lf%s Avg,",
1505                         "GPRINT:cpufreq_max:MAX:%5.1lf%s Max,",
1506                         "GPRINT:cpufreq_avg:LAST:%5.1lf%s Last\\l"
1507                 },
1508
1509                 multimeter = {
1510                         "DEF:multimeter_avg={file}:value:AVERAGE",
1511                         "DEF:multimeter_min={file}:value:MIN",
1512                         "DEF:multimeter_max={file}:value:MAX",
1513                         "AREA:multimeter_max#" .. self.palette.HalfBlue,
1514                         "AREA:multimeter_min#" .. self.palette.Canvas,
1515                         "LINE1:multimeter_avg#" .. self.palette.FullBlue .. ":Multimeter",
1516                         "GPRINT:multimeter_min:MIN:%4.1lf Min,",
1517                         "GPRINT:multimeter_avg:AVERAGE:%4.1lf Average,",
1518                         "GPRINT:multimeter_max:MAX:%4.1lf Max,",
1519                         "GPRINT:multimeter_avg:LAST:%4.1lf Last\\l"
1520                 },
1521
1522                 users = {
1523                         "-v", "Users",
1524                         "DEF:users_avg={file}:users:AVERAGE",
1525                         "DEF:users_min={file}:users:MIN",
1526                         "DEF:users_max={file}:users:MAX",
1527                         "AREA:users_max#" .. self.palette.HalfBlue,
1528                         "AREA:users_min#" .. self.palette.Canvas,
1529                         "LINE1:users_avg#" .. self.palette.FullBlue .. ":Users",
1530                         "GPRINT:users_min:MIN:%4.1lf Min,",
1531                         "GPRINT:users_avg:AVERAGE:%4.1lf Average,",
1532                         "GPRINT:users_max:MAX:%4.1lf Max,",
1533                         "GPRINT:users_avg:LAST:%4.1lf Last\\l"
1534                 },
1535
1536                 voltage = {
1537                         "-v", "Voltage",
1538                         "DEF:avg={file}:value:AVERAGE",
1539                         "DEF:min={file}:value:MIN",
1540                         "DEF:max={file}:value:MAX",
1541                         "AREA:max#" .. self.palette.HalfBlue,
1542                         "AREA:min#" .. self.palette.Canvas,
1543                         "LINE1:avg#" .. self.palette.FullBlue .. ":Voltage",
1544                         "GPRINT:min:MIN:%5.1lf%sV Min,",
1545                         "GPRINT:avg:AVERAGE:%5.1lf%sV Avg,",
1546                         "GPRINT:max:MAX:%5.1lf%sV Max,",
1547                         "GPRINT:avg:LAST:%5.1lf%sV Last\\l"
1548                 },
1549
1550                 vs_threads = {
1551                         "DEF:avg={file}:value:AVERAGE",
1552                         "DEF:min={file}:value:MIN",
1553                         "DEF:max={file}:value:MAX",
1554                         "AREA:max#" .. self.palette.HalfBlue,
1555                         "AREA:min#" .. self.palette.Canvas,
1556                         "LINE1:avg#" .. self.palette.FullBlue .. ":Threads",
1557                         "GPRINT:min:MIN:%5.1lf Min,",
1558                         "GPRINT:avg:AVERAGE:%5.1lf Avg.,",
1559                         "GPRINT:max:MAX:%5.1lf Max,",
1560                         "GPRINT:avg:LAST:%5.1lf Last\\l",
1561                 },
1562
1563                 vs_memory = {
1564                         "-b", "1024", "-v", "Bytes",
1565                         "DEF:avg={file}:value:AVERAGE",
1566                         "DEF:min={file}:value:MIN",
1567                         "DEF:max={file}:value:MAX",
1568                         "AREA:max#" .. self.palette.HalfBlue,
1569                         "AREA:min#" .. self.palette.Canvas,
1570                         "LINE1:avg#" .. self.palette.FullBlue .. ":",
1571                         "GPRINT:min:MIN:%5.1lf%sbytes Min,",
1572                         "GPRINT:avg:AVERAGE:%5.1lf%sbytes Avg.,",
1573                         "GPRINT:max:MAX:%5.1lf%sbytes Max,",
1574                         "GPRINT:avg:LAST:%5.1lf%sbytes Last\\l",
1575                 },
1576
1577                 vs_processes = {
1578                         "DEF:avg={file}:value:AVERAGE",
1579                         "DEF:min={file}:value:MIN",
1580                         "DEF:max={file}:value:MAX",
1581                         "AREA:max#" .. self.palette.HalfBlue,
1582                         "AREA:min#" .. self.palette.Canvas,
1583                         "LINE1:avg#" .. self.palette.FullBlue .. ":Processes",
1584                         "GPRINT:min:MIN:%5.1lf Min,",
1585                         "GPRINT:avg:AVERAGE:%5.1lf Avg.,",
1586                         "GPRINT:max:MAX:%5.1lf Max,",
1587                         "GPRINT:avg:LAST:%5.1lf Last\\l",
1588                 },
1589         }
1590
1591
1592
1593         -- used color palette
1594         colors = {
1595                 Canvas          = "FFFFFF",
1596
1597                 FullRed         = "FF0000",
1598                 FullGreen       = "00E000",
1599                 FullBlue        = "0000FF",
1600                 FullYellow      = "F0A000",
1601                 FullCyan        = "00A0FF",
1602                 FullMagenta     = "A000FF",
1603
1604                 HalfRed         = "F7B7B7",
1605                 HalfGreen       = "B7EFB7",
1606                 HalfBlue        = "B7B7F7",
1607                 HalfYellow      = "F3DFB7",
1608                 HalfCyan        = "B7DFF7",
1609                 HalfMagenta     = "DFB7F7",
1610
1611                 HalfBlueGreen   = "89B3C9"
1612         }
1613
1614
1615         -- plotting arguments for each defined datasource
1616         rrd_args = {
1617                 apache_bytes = {
1618                         "DEF:min_raw={file}:count:MIN",
1619                         "DEF:avg_raw={file}:count:AVERAGE",
1620                         "DEF:max_raw={file}:count:MAX",
1621                         "CDEF:min=min_raw,8,*",
1622                         "CDEF:avg=avg_raw,8,*",
1623                         "CDEF:max=max_raw,8,*",
1624                         "CDEF:mytime=avg_raw,TIME,TIME,IF",
1625                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
1626                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
1627                         "CDEF:avg_sample=avg_raw,UN,0,avg_raw,IF,sample_len,*",
1628                         "CDEF:avg_sum=PREV,UN,0,PREV,IF,avg_sample,+",
1629                         "AREA:avg#" .. self.palette.HalfBlue,
1630                         "LINE1:avg#" .. self.palette.FullBlue .. ":Bit/s",
1631                         "GPRINT:min:MIN:%5.1lf%s Min,",
1632                         "GPRINT:avg:AVERAGE:%5.1lf%s Avg,",
1633                         "GPRINT:max:MAX:%5.1lf%s Max,",
1634                         "GPRINT:avg:LAST:%5.1lf%s Last\\l",
1635                         "GPRINT:avg_sum:LAST:(ca. %5.1lf%sB Total)"
1636                 },
1637
1638                 apache_requests = {
1639                         "DEF:min={file}:count:MIN",
1640                         "DEF:avg={file}:count:AVERAGE",
1641                         "DEF:max={file}:count:MAX",
1642                         "AREA:max#" .. self.palette.HalfBlue,
1643                         "AREA:min#" .. self.palette.Canvas,
1644                         "LINE1:avg#" .. self.palette.FullBlue .. ":Requests/s",
1645                         "GPRINT:min:MIN:%6.2lf Min,",
1646                         "GPRINT:avg:AVERAGE:%6.2lf Avg,",
1647                         "GPRINT:max:MAX:%6.2lf Max,",
1648                         "GPRINT:avg:LAST:%6.2lf Last\\l"
1649                 },
1650
1651                 apache_scoreboard = {
1652                         "DEF:min={file}:count:MIN",
1653                         "DEF:avg={file}:count:AVERAGE",
1654                         "DEF:max={file}:count:MAX",
1655                         "AREA:max#" .. self.palette.HalfBlue,
1656                         "AREA:min#" .. self.palette.Canvas,
1657                         "LINE1:avg#" .. self.palette.FullBlue .. ":Processes",
1658                         "GPRINT:min:MIN:%6.2lf Min,",
1659                         "GPRINT:avg:AVERAGE:%6.2lf Avg,",
1660                         "GPRINT:max:MAX:%6.2lf Max,",
1661                         "GPRINT:avg:LAST:%6.2lf Last\\l"
1662                 },
1663
1664                 bitrate = {
1665                         "-v", "Bits/s",
1666                         "DEF:avg={file}:value:AVERAGE",
1667                         "DEF:min={file}:value:MIN",
1668                         "DEF:max={file}:value:MAX",
1669                         "AREA:max#" .. self.palette.HalfBlue,
1670                         "AREA:min#" .. self.palette.Canvas,
1671                         "LINE1:avg#" .. self.palette.FullBlue .. ":Bits/s",
1672                         "GPRINT:min:MIN:%5.1lf%s Min,",
1673                         "GPRINT:avg:AVERAGE:%5.1lf%s Average,",
1674                         "GPRINT:max:MAX:%5.1lf%s Max,",
1675                         "GPRINT:avg:LAST:%5.1lf%s Last\\l"
1676                 },
1677
1678                 charge = {
1679                         "-v", "Ah",
1680                         "DEF:avg={file}:value:AVERAGE",
1681                         "DEF:min={file}:value:MIN",
1682                         "DEF:max={file}:value:MAX",
1683                         "AREA:max#" .. self.palette.HalfBlue,
1684                         "AREA:min#" .. self.palette.Canvas,
1685                         "LINE1:avg#" .. self.palette.FullBlue .. ":Charge",
1686                         "GPRINT:min:MIN:%5.1lf%sAh Min,",
1687                         "GPRINT:avg:AVERAGE:%5.1lf%sAh Avg,",
1688                         "GPRINT:max:MAX:%5.1lf%sAh Max,",
1689                         "GPRINT:avg:LAST:%5.1lf%sAh Last\\l"
1690                 },
1691
1692                 cpu = {
1693                         "-v", "CPU load",
1694                         "DEF:avg={file}:value:AVERAGE",
1695                         "DEF:min={file}:value:MIN",
1696                         "DEF:max={file}:value:MAX",
1697                         "AREA:max#" .. self.palette.HalfBlue,
1698                         "AREA:min#" .. self.palette.Canvas,
1699                         "LINE1:avg#" .. self.palette.FullBlue .. ":Percent",
1700                         "GPRINT:min:MIN:%6.2lf%% Min,",
1701                         "GPRINT:avg:AVERAGE:%6.2lf%% Avg,",
1702                         "GPRINT:max:MAX:%6.2lf%% Max,",
1703                         "GPRINT:avg:LAST:%6.2lf%% Last\\l"
1704                 },
1705
1706                 current = {
1707                         "-v", "Ampere",
1708                         "DEF:avg={file}:value:AVERAGE",
1709                         "DEF:min={file}:value:MIN",
1710                         "DEF:max={file}:value:MAX",
1711                         "AREA:max#" .. self.palette.HalfBlue,
1712                         "AREA:min#" .. self.palette.Canvas,
1713                         "LINE1:avg#" .. self.palette.FullBlue .. ":Current",
1714                         "GPRINT:min:MIN:%5.1lf%sA Min,",
1715                         "GPRINT:avg:AVERAGE:%5.1lf%sA Avg,",
1716                         "GPRINT:max:MAX:%5.1lf%sA Max,",
1717                         "GPRINT:avg:LAST:%5.1lf%sA Last\\l"
1718                 },
1719
1720                 df = {
1721                         "-v", "Percent", "-l", "0",
1722                         "DEF:free_avg={file}:free:AVERAGE",
1723                         "DEF:free_min={file}:free:MIN",
1724                         "DEF:free_max={file}:free:MAX",
1725                         "DEF:used_avg={file}:used:AVERAGE",
1726                         "DEF:used_min={file}:used:MIN",
1727                         "DEF:used_max={file}:used:MAX",
1728                         "CDEF:total=free_avg,used_avg,+",
1729                         "CDEF:free_pct=100,free_avg,*,total,/",
1730                         "CDEF:used_pct=100,used_avg,*,total,/",
1731                         "CDEF:free_acc=free_pct,used_pct,+",
1732                         "CDEF:used_acc=used_pct",
1733                         "AREA:free_acc#" .. self.palette.HalfGreen,
1734                         "AREA:used_acc#" .. self.palette.HalfRed,
1735                         "LINE1:free_acc#" .. self.palette.FullGreen .. ":Free",
1736                         "GPRINT:free_min:MIN:%5.1lf%sB Min,",
1737                         "GPRINT:free_avg:AVERAGE:%5.1lf%sB Avg,",
1738                         "GPRINT:free_max:MAX:%5.1lf%sB Max,",
1739                         "GPRINT:free_avg:LAST:%5.1lf%sB Last\\l",
1740                         "LINE1:used_acc#" .. self.palette.FullRed .. ":Used",
1741                         "GPRINT:used_min:MIN:%5.1lf%sB Min,",
1742                         "GPRINT:used_avg:AVERAGE:%5.1lf%sB Avg,",
1743                         "GPRINT:used_max:MAX:%5.1lf%sB Max,",
1744                         "GPRINT:used_avg:LAST:%5.1lf%sB Last\\l"
1745                 },
1746
1747                 disk = {
1748                         "DEF:rtime_avg={file}:rtime:AVERAGE",
1749                         "DEF:rtime_min={file}:rtime:MIN",
1750                         "DEF:rtime_max={file}:rtime:MAX",
1751                         "DEF:wtime_avg={file}:wtime:AVERAGE",
1752                         "DEF:wtime_min={file}:wtime:MIN",
1753                         "DEF:wtime_max={file}:wtime:MAX",
1754                         "CDEF:rtime_avg_ms=rtime_avg,1000,/",
1755                         "CDEF:rtime_min_ms=rtime_min,1000,/",
1756                         "CDEF:rtime_max_ms=rtime_max,1000,/",
1757                         "CDEF:wtime_avg_ms=wtime_avg,1000,/",
1758                         "CDEF:wtime_min_ms=wtime_min,1000,/",
1759                         "CDEF:wtime_max_ms=wtime_max,1000,/",
1760                         "CDEF:total_avg_ms=rtime_avg_ms,wtime_avg_ms,+",
1761                         "CDEF:total_min_ms=rtime_min_ms,wtime_min_ms,+",
1762                         "CDEF:total_max_ms=rtime_max_ms,wtime_max_ms,+",
1763                         "AREA:total_max_ms#" .. self.palette.HalfRed,
1764                         "AREA:total_min_ms#" .. self.palette.Canvas,
1765                         "LINE1:wtime_avg_ms#" .. self.palette.FullGreen .. ":Write",
1766                         "GPRINT:wtime_min_ms:MIN:%5.1lf%s Min,",
1767                         "GPRINT:wtime_avg_ms:AVERAGE:%5.1lf%s Avg,",
1768                         "GPRINT:wtime_max_ms:MAX:%5.1lf%s Max,",
1769                         "GPRINT:wtime_avg_ms:LAST:%5.1lf%s Last\n",
1770                         "LINE1:rtime_avg_ms#" .. self.palette.FullBlue .. ":Read ",
1771                         "GPRINT:rtime_min_ms:MIN:%5.1lf%s Min,",
1772                         "GPRINT:rtime_avg_ms:AVERAGE:%5.1lf%s Avg,",
1773                         "GPRINT:rtime_max_ms:MAX:%5.1lf%s Max,",
1774                         "GPRINT:rtime_avg_ms:LAST:%5.1lf%s Last\n",
1775                         "LINE1:total_avg_ms#" .. self.palette.FullRed .. ":Total",
1776                         "GPRINT:total_min_ms:MIN:%5.1lf%s Min,",
1777                         "GPRINT:total_avg_ms:AVERAGE:%5.1lf%s Avg,",
1778                         "GPRINT:total_max_ms:MAX:%5.1lf%s Max,",
1779                         "GPRINT:total_avg_ms:LAST:%5.1lf%s Last\\l"
1780                 },
1781
1782                 disk_octets = {
1783                         "-v", "Bytes/s",
1784                         "DEF:out_min={file}:write:MIN",
1785                         "DEF:out_avg={file}:write:AVERAGE",
1786                         "DEF:out_max={file}:write:MAX",
1787                         "DEF:inc_min={file}:read:MIN",
1788                         "DEF:inc_avg={file}:read:AVERAGE",
1789                         "DEF:inc_max={file}:read:MAX",
1790                         "CDEF:overlap=out_avg,inc_avg,GT,inc_avg,out_avg,IF",
1791                         "CDEF:mytime=out_avg,TIME,TIME,IF",
1792                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
1793                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
1794                         "CDEF:out_avg_sample=out_avg,UN,0,out_avg,IF,sample_len,*",
1795                         "CDEF:out_avg_sum=PREV,UN,0,PREV,IF,out_avg_sample,+",
1796                         "CDEF:inc_avg_sample=inc_avg,UN,0,inc_avg,IF,sample_len,*",
1797                         "CDEF:inc_avg_sum=PREV,UN,0,PREV,IF,inc_avg_sample,+",
1798                         "AREA:out_avg#" .. self.palette.HalfGreen,
1799                         "AREA:inc_avg#" .. self.palette.HalfBlue,
1800                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
1801                         "LINE1:out_avg#" .. self.palette.FullGreen .. ":Written",
1802                         "GPRINT:out_avg:AVERAGE:%5.1lf%s Avg,",
1803                         "GPRINT:out_max:MAX:%5.1lf%s Max,",
1804                         "GPRINT:out_avg:LAST:%5.1lf%s Last\\l",
1805                         "GPRINT:out_avg_sum:LAST:(ca. %5.1lf%sB Total)",
1806                         "LINE1:inc_avg#" .. self.palette.FullBlue .. ":Read   ",
1807                         "GPRINT:inc_avg:AVERAGE:%5.1lf%s Avg,",
1808                         "GPRINT:inc_max:MAX:%5.1lf%s Max,",
1809                         "GPRINT:inc_avg:LAST:%5.1lf%s Last\\l",
1810                         "GPRINT:inc_avg_sum:LAST:(ca. %5.1lf%sB Total)"
1811                 },
1812
1813                 disk_merged = {
1814                         "-v", "Merged Ops/s",
1815                         "DEF:out_min={file}:write:MIN",
1816                         "DEF:out_avg={file}:write:AVERAGE",
1817                         "DEF:out_max={file}:write:MAX",
1818                         "DEF:inc_min={file}:read:MIN",
1819                         "DEF:inc_avg={file}:read:AVERAGE",
1820                         "DEF:inc_max={file}:read:MAX",
1821                         "CDEF:overlap=out_avg,inc_avg,GT,inc_avg,out_avg,IF",
1822                         "AREA:out_avg#" .. self.palette.HalfGreen,
1823                         "AREA:inc_avg#" .. self.palette.HalfBlue,
1824                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
1825                         "LINE1:out_avg#" .. self.palette.FullGreen .. ":Written",
1826                         "GPRINT:out_avg:AVERAGE:%6.2lf Avg,",
1827                         "GPRINT:out_max:MAX:%6.2lf Max,",
1828                         "GPRINT:out_avg:LAST:%6.2lf Last\\l",
1829                         "LINE1:inc_avg#" .. self.palette.FullBlue .. ":Read   ",
1830                         "GPRINT:inc_avg:AVERAGE:%6.2lf Avg,",
1831                         "GPRINT:inc_max:MAX:%6.2lf Max,",
1832                         "GPRINT:inc_avg:LAST:%6.2lf Last\\l"
1833                 },
1834
1835                 disk_ops = {
1836                         "-v", "Ops/s",
1837                         "DEF:out_min={file}:write:MIN",
1838                         "DEF:out_avg={file}:write:AVERAGE",
1839                         "DEF:out_max={file}:write:MAX",
1840                         "DEF:inc_min={file}:read:MIN",
1841                         "DEF:inc_avg={file}:read:AVERAGE",
1842                         "DEF:inc_max={file}:read:MAX",
1843                         "CDEF:overlap=out_avg,inc_avg,GT,inc_avg,out_avg,IF",
1844                         "AREA:out_avg#" .. self.palette.HalfGreen,
1845                         "AREA:inc_avg#" .. self.palette.HalfBlue,
1846                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
1847                         "LINE1:out_avg#" .. self.palette.FullGreen .. ":Written",
1848                         "GPRINT:out_avg:AVERAGE:%6.2lf Avg,",
1849                         "GPRINT:out_max:MAX:%6.2lf Max,",
1850                         "GPRINT:out_avg:LAST:%6.2lf Last\\l",
1851                         "LINE1:inc_avg#" .. self.palette.FullBlue .. ":Read   ",
1852                         "GPRINT:inc_avg:AVERAGE:%6.2lf Avg,",
1853                         "GPRINT:inc_max:MAX:%6.2lf Max,",
1854                         "GPRINT:inc_avg:LAST:%6.2lf Last\\l"
1855                 },
1856
1857                 disk_time = {
1858                         "-v", "Seconds/s",
1859                         "DEF:out_min_raw={file}:write:MIN",
1860                         "DEF:out_avg_raw={file}:write:AVERAGE",
1861                         "DEF:out_max_raw={file}:write:MAX",
1862                         "DEF:inc_min_raw={file}:read:MIN",
1863                         "DEF:inc_avg_raw={file}:read:AVERAGE",
1864                         "DEF:inc_max_raw={file}:read:MAX",
1865                         "CDEF:out_min=out_min_raw,1000,/",
1866                         "CDEF:out_avg=out_avg_raw,1000,/",
1867                         "CDEF:out_max=out_max_raw,1000,/",
1868                         "CDEF:inc_min=inc_min_raw,1000,/",
1869                         "CDEF:inc_avg=inc_avg_raw,1000,/",
1870                         "CDEF:inc_max=inc_max_raw,1000,/",
1871                         "CDEF:overlap=out_avg,inc_avg,GT,inc_avg,out_avg,IF",
1872                         "AREA:out_avg#" .. self.palette.HalfGreen,
1873                         "AREA:inc_avg#" .. self.palette.HalfBlue,
1874                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
1875                         "LINE1:out_avg#" .. self.palette.FullGreen .. ":Written",
1876                         "GPRINT:out_avg:AVERAGE:%5.1lf%ss Avg,",
1877                         "GPRINT:out_max:MAX:%5.1lf%ss Max,",
1878                         "GPRINT:out_avg:LAST:%5.1lf%ss Last\\l",
1879                         "LINE1:inc_avg#" .. self.palette.FullBlue .. ":Read   ",
1880                         "GPRINT:inc_avg:AVERAGE:%5.1lf%ss Avg,",
1881                         "GPRINT:inc_max:MAX:%5.1lf%ss Max,",
1882                         "GPRINT:inc_avg:LAST:%5.1lf%ss Last\\l"
1883                 },
1884
1885                 dns_octets = {
1886                         "DEF:rsp_min_raw={file}:responses:MIN",
1887                         "DEF:rsp_avg_raw={file}:responses:AVERAGE",
1888                         "DEF:rsp_max_raw={file}:responses:MAX",
1889                         "DEF:qry_min_raw={file}:queries:MIN",
1890                         "DEF:qry_avg_raw={file}:queries:AVERAGE",
1891                         "DEF:qry_max_raw={file}:queries:MAX",
1892                         "CDEF:rsp_min=rsp_min_raw,8,*",
1893                         "CDEF:rsp_avg=rsp_avg_raw,8,*",
1894                         "CDEF:rsp_max=rsp_max_raw,8,*",
1895                         "CDEF:qry_min=qry_min_raw,8,*",
1896                         "CDEF:qry_avg=qry_avg_raw,8,*",
1897                         "CDEF:qry_max=qry_max_raw,8,*",
1898                         "CDEF:overlap=rsp_avg,qry_avg,GT,qry_avg,rsp_avg,IF",
1899                         "CDEF:mytime=rsp_avg_raw,TIME,TIME,IF",
1900                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
1901                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
1902                         "CDEF:rsp_avg_sample=rsp_avg_raw,UN,0,rsp_avg_raw,IF,sample_len,*",
1903                         "CDEF:rsp_avg_sum=PREV,UN,0,PREV,IF,rsp_avg_sample,+",
1904                         "CDEF:qry_avg_sample=qry_avg_raw,UN,0,qry_avg_raw,IF,sample_len,*",
1905                         "CDEF:qry_avg_sum=PREV,UN,0,PREV,IF,qry_avg_sample,+",
1906                         "AREA:rsp_avg#" .. self.palette.HalfGreen,
1907                         "AREA:qry_avg#" .. self.palette.HalfBlue,
1908                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
1909                         "LINE1:rsp_avg#" .. self.palette.FullGreen .. ":Responses",
1910                         "GPRINT:rsp_avg:AVERAGE:%5.1lf%s Avg,",
1911                         "GPRINT:rsp_max:MAX:%5.1lf%s Max,",
1912                         "GPRINT:rsp_avg:LAST:%5.1lf%s Last\\l",
1913                         "GPRINT:rsp_avg_sum:LAST:(ca. %5.1lf%sB Total)",
1914                         "LINE1:qry_avg#" .. self.palette.FullBlue .. ":Queries  ",
1915                         #"GPRINT:qry_min:MIN:%5.1lf %s Min,",
1916                         "GPRINT:qry_avg:AVERAGE:%5.1lf%s Avg,",
1917                         "GPRINT:qry_max:MAX:%5.1lf%s Max,",
1918                         "GPRINT:qry_avg:LAST:%5.1lf%s Last\\l",
1919                         "GPRINT:qry_avg_sum:LAST:(ca. %5.1lf%sB Total)"
1920                 },
1921
1922                 dns_opcode = {
1923                         "DEF:avg={file}:value:AVERAGE",
1924                         "DEF:min={file}:value:MIN",
1925                         "DEF:max={file}:value:MAX",
1926                         "AREA:max#" .. self.palette.HalfBlue,
1927                         "AREA:min#" .. self.palette.Canvas,
1928                         "LINE1:avg#" .. self.palette.FullBlue .. ":Queries/s",
1929                         "GPRINT:min:MIN:%9.3lf Min,",
1930                         "GPRINT:avg:AVERAGE:%9.3lf Average,",
1931                         "GPRINT:max:MAX:%9.3lf Max,",
1932                         "GPRINT:avg:LAST:%9.3lf Last\\l"
1933                 },
1934
1935                 email_count = {
1936                         "-v", "Mails",
1937                         "DEF:avg={file}:value:AVERAGE",
1938                         "DEF:min={file}:value:MIN",
1939                         "DEF:max={file}:value:MAX",
1940                         "AREA:max#" .. self.palette.HalfMagenta,
1941                         "AREA:min#" .. self.palette.Canvas,
1942                         "LINE1:avg#" .. self.palette.FullMagenta .. ":Count ",
1943                         "GPRINT:min:MIN:%4.1lf Min,",
1944                         "GPRINT:avg:AVERAGE:%4.1lf Avg,",
1945                         "GPRINT:max:MAX:%4.1lf Max,",
1946                         "GPRINT:avg:LAST:%4.1lf Last\\l"
1947                 },
1948
1949                 email_size = {
1950                         "-v", "Bytes",
1951                         "DEF:avg={file}:value:AVERAGE",
1952                         "DEF:min={file}:value:MIN",
1953                         "DEF:max={file}:value:MAX",
1954                         "AREA:max#" .. self.palette.HalfMagenta,
1955                         "AREA:min#" .. self.palette.Canvas,
1956                         "LINE1:avg#" .. self.palette.FullMagenta .. ":Count ",
1957                         "GPRINT:min:MIN:%4.1lf Min,",
1958                         "GPRINT:avg:AVERAGE:%4.1lf Avg,",
1959                         "GPRINT:max:MAX:%4.1lf Max,",
1960                         "GPRINT:avg:LAST:%4.1lf Last\\l"
1961                 },
1962
1963                 spam_score = {
1964                         "-v", "Score",
1965                         "DEF:avg={file}:value:AVERAGE",
1966                         "DEF:min={file}:value:MIN",
1967                         "DEF:max={file}:value:MAX",
1968                         "AREA:max#" .. self.palette.HalfBlue,
1969                         "AREA:min#" .. self.palette.Canvas,
1970                         "LINE1:avg#" .. self.palette.FullBlue .. ":Score ",
1971                         "GPRINT:min:MIN:%4.1lf Min,",
1972                         "GPRINT:avg:AVERAGE:%4.1lf Avg,",
1973                         "GPRINT:max:MAX:%4.1lf Max,",
1974                         "GPRINT:avg:LAST:%4.1lf Last\\l"
1975                 },
1976
1977                 spam_check = {
1978                         "DEF:avg={file}:hits:AVERAGE",
1979                         "DEF:min={file}:hits:MIN",
1980                         "DEF:max={file}:hits:MAX",
1981                         "AREA:max#" .. self.palette.HalfMagenta,
1982                         "AREA:min#" .. self.palette.Canvas,
1983                         "LINE1:avg#" .. self.palette.FullMagenta .. ":Count ",
1984                         "GPRINT:min:MIN:%4.1lf Min,",
1985                         "GPRINT:avg:AVERAGE:%4.1lf Avg,",
1986                         "GPRINT:max:MAX:%4.1lf Max,",
1987                         "GPRINT:avg:LAST:%4.1lf Last\\l"
1988                 },
1989
1990                 entropy = {
1991                         "-v", "Bits",
1992                         "DEF:avg={file}:entropy:AVERAGE",
1993                         "DEF:min={file}:entropy:MIN",
1994                         "DEF:max={file}:entropy:MAX",
1995                         "AREA:max#" .. self.palette.HalfBlue,
1996                         "AREA:min#" .. self.palette.Canvas,
1997                         "LINE1:avg#" .. self.palette.FullBlue .. ":Bits",
1998                         "GPRINT:min:MIN:%4.0lfbit Min,",
1999                         "GPRINT:avg:AVERAGE:%4.0lfbit Avg,",
2000                         "GPRINT:max:MAX:%4.0lfbit Max,",
2001                         "GPRINT:avg:LAST:%4.0lfbit Last\\l"
2002                 },
2003
2004                 fanspeed = {
2005                         "-v", "RPM",
2006                         "DEF:avg={file}:value:AVERAGE",
2007                         "DEF:min={file}:value:MIN",
2008                         "DEF:max={file}:value:MAX",
2009                         "AREA:max#" .. self.palette.HalfMagenta,
2010                         "AREA:min#" .. self.palette.Canvas,
2011                         "LINE1:avg#" .. self.palette.FullMagenta .. ":RPM",
2012                         "GPRINT:min:MIN:%4.1lf Min,",
2013                         "GPRINT:avg:AVERAGE:%4.1lf Avg,",
2014                         "GPRINT:max:MAX:%4.1lf Max,",
2015                         "GPRINT:avg:LAST:%4.1lf Last\\l"
2016                 },
2017
2018                 frequency = {
2019                         "-v", "Hertz",
2020                         "DEF:avg={file}:frequency:AVERAGE",
2021                         "DEF:min={file}:frequency:MIN",
2022                         "DEF:max={file}:frequency:MAX",
2023                         "AREA:max#" .. self.palette.HalfBlue,
2024                         "AREA:min#" .. self.palette.Canvas,
2025                         "LINE1:avg#" .. self.palette.FullBlue .. ":Frequency [Hz]",
2026                         "GPRINT:min:MIN:%4.1lf Min,",
2027                         "GPRINT:avg:AVERAGE:%4.1lf Avg,",
2028                         "GPRINT:max:MAX:%4.1lf Max,",
2029                         "GPRINT:avg:LAST:%4.1lf Last\\l"
2030                 },
2031
2032                 frequency_offset = {
2033                         "DEF:ppm_avg={file}:ppm:AVERAGE",
2034                         "DEF:ppm_min={file}:ppm:MIN",
2035                         "DEF:ppm_max={file}:ppm:MAX",
2036                         "AREA:ppm_max#" .. self.palette.HalfBlue,
2037                         "AREA:ppm_min#" .. self.palette.Canvas,
2038                         "LINE1:ppm_avg#" .. self.palette.FullBlue .. ":{inst}",
2039                         "GPRINT:ppm_min:MIN:%5.2lf Min,",
2040                         "GPRINT:ppm_avg:AVERAGE:%5.2lf Avg,",
2041                         "GPRINT:ppm_max:MAX:%5.2lf Max,",
2042                         "GPRINT:ppm_avg:LAST:%5.2lf Last\\l"
2043                 },
2044
2045                 gauge = {
2046                         "-v", "Exec value",
2047                         "DEF:temp_avg={file}:value:AVERAGE",
2048                         "DEF:temp_min={file}:value:MIN",
2049                         "DEF:temp_max={file}:value:MAX",
2050                         "AREA:temp_max#" .. self.palette.HalfBlue,
2051                         "AREA:temp_min#" .. self.palette.Canvas,
2052                         "LINE1:temp_avg#" .. self.palette.FullBlue .. ":Exec value",
2053                         "GPRINT:temp_min:MIN:%6.2lf Min,",
2054                         "GPRINT:temp_avg:AVERAGE:%6.2lf Avg,",
2055                         "GPRINT:temp_max:MAX:%6.2lf Max,",
2056                         "GPRINT:temp_avg:LAST:%6.2lf Last\\l"
2057                 },
2058
2059                 hddtemp = {
2060                         "DEF:temp_avg={file}:value:AVERAGE",
2061                         "DEF:temp_min={file}:value:MIN",
2062                         "DEF:temp_max={file}:value:MAX",
2063                         "AREA:temp_max#" .. self.palette.HalfRed,
2064                         "AREA:temp_min#" .. self.palette.Canvas,
2065                         "LINE1:temp_avg#" .. self.palette.FullRed .. ":Temperature",
2066                         "GPRINT:temp_min:MIN:%4.1lf Min,",
2067                         "GPRINT:temp_avg:AVERAGE:%4.1lf Avg,",
2068                         "GPRINT:temp_max:MAX:%4.1lf Max,",
2069                         "GPRINT:temp_avg:LAST:%4.1lf Last\\l"
2070                 },
2071
2072                 humidity = {
2073                         "-v", "Percent",
2074                         "DEF:temp_avg={file}:value:AVERAGE",
2075                         "DEF:temp_min={file}:value:MIN",
2076                         "DEF:temp_max={file}:value:MAX",
2077                         "AREA:temp_max#" .. self.palette.HalfGreen,
2078                         "AREA:temp_min#" .. self.palette.Canvas,
2079                         "LINE1:temp_avg#" .. self.palette.FullGreen .. ":Temperature",
2080                         "GPRINT:temp_min:MIN:%4.1lf%% Min,",
2081                         "GPRINT:temp_avg:AVERAGE:%4.1lf%% Avg,",
2082                         "GPRINT:temp_max:MAX:%4.1lf%% Max,",
2083                         "GPRINT:temp_avg:LAST:%4.1lf%% Last\\l"
2084                 },
2085
2086                 if_errors = {
2087                         "-v", "Errors/s",
2088                         "DEF:tx_min={file}:tx:MIN",
2089                         "DEF:tx_avg={file}:tx:AVERAGE",
2090                         "DEF:tx_max={file}:tx:MAX",
2091                         "DEF:rx_min={file}:rx:MIN",
2092                         "DEF:rx_avg={file}:rx:AVERAGE",
2093                         "DEF:rx_max={file}:rx:MAX",
2094                         "CDEF:overlap=tx_avg,rx_avg,GT,rx_avg,tx_avg,IF",
2095                         "CDEF:mytime=tx_avg,TIME,TIME,IF",
2096                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
2097                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
2098                         "CDEF:tx_avg_sample=tx_avg,UN,0,tx_avg,IF,sample_len,*",
2099                         "CDEF:tx_avg_sum=PREV,UN,0,PREV,IF,tx_avg_sample,+",
2100                         "CDEF:rx_avg_sample=rx_avg,UN,0,rx_avg,IF,sample_len,*",
2101                         "CDEF:rx_avg_sum=PREV,UN,0,PREV,IF,rx_avg_sample,+",
2102                         "AREA:tx_avg#" .. self.palette.HalfGreen,
2103                         "AREA:rx_avg#" .. self.palette.HalfBlue,
2104                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
2105                         "LINE1:tx_avg#" .. self.palette.FullGreen .. ":TX",
2106                         "GPRINT:tx_avg:AVERAGE:%5.1lf%s Avg,",
2107                         "GPRINT:tx_max:MAX:%5.1lf%s Max,",
2108                         "GPRINT:tx_avg:LAST:%5.1lf%s Last\\l",
2109                         "GPRINT:tx_avg_sum:LAST:(ca. %4.0lf%s Total)",
2110                         "LINE1:rx_avg#" .. self.palette.FullBlue .. ":RX",
2111                         #"GPRINT:rx_min:MIN:%5.1lf %s Min,",
2112                         "GPRINT:rx_avg:AVERAGE:%5.1lf%s Avg,",
2113                         "GPRINT:rx_max:MAX:%5.1lf%s Max,",
2114                         "GPRINT:rx_avg:LAST:%5.1lf%s Last\\l",
2115                         "GPRINT:rx_avg_sum:LAST:(ca. %4.0lf%s Total)"
2116                 },
2117
2118                 if_collisions = {
2119                         "-v", "Collisions/s",
2120                         "DEF:min_raw={file}:value:MIN",
2121                         "DEF:avg_raw={file}:value:AVERAGE",
2122                         "DEF:max_raw={file}:value:MAX",
2123                         "CDEF:min=min_raw,8,*",
2124                         "CDEF:avg=avg_raw,8,*",
2125                         "CDEF:max=max_raw,8,*",
2126                         "AREA:max#" .. self.palette.HalfBlue,
2127                         "AREA:min#" .. self.palette.Canvas,
2128                         "LINE1:avg#" .. self.palette.FullBlue .. ":Collisions/s",
2129                         "GPRINT:min:MIN:%5.1lf %s Min,",
2130                         "GPRINT:avg:AVERAGE:%5.1lf%s Avg,",
2131                         "GPRINT:max:MAX:%5.1lf%s Max,",
2132                         "GPRINT:avg:LAST:%5.1lf%s Last\\l"
2133                 },
2134
2135                 if_dropped = {
2136                         "-v", "Packets/s",
2137                         "DEF:tx_min={file}:tx:MIN",
2138                         "DEF:tx_avg={file}:tx:AVERAGE",
2139                         "DEF:tx_max={file}:tx:MAX",
2140                         "DEF:rx_min={file}:rx:MIN",
2141                         "DEF:rx_avg={file}:rx:AVERAGE",
2142                         "DEF:rx_max={file}:rx:MAX",
2143                         "CDEF:overlap=tx_avg,rx_avg,GT,rx_avg,tx_avg,IF",
2144                         "CDEF:mytime=tx_avg,TIME,TIME,IF",
2145                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
2146                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
2147                         "CDEF:tx_avg_sample=tx_avg,UN,0,tx_avg,IF,sample_len,*",
2148                         "CDEF:tx_avg_sum=PREV,UN,0,PREV,IF,tx_avg_sample,+",
2149                         "CDEF:rx_avg_sample=rx_avg,UN,0,rx_avg,IF,sample_len,*",
2150                         "CDEF:rx_avg_sum=PREV,UN,0,PREV,IF,rx_avg_sample,+",
2151                         "AREA:tx_avg#" .. self.palette.HalfGreen,
2152                         "AREA:rx_avg#" .. self.palette.HalfBlue,
2153                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
2154                         "LINE1:tx_avg#" .. self.palette.FullGreen .. ":TX",
2155                         "GPRINT:tx_avg:AVERAGE:%5.1lf%s Avg,",
2156                         "GPRINT:tx_max:MAX:%5.1lf%s Max,",
2157                         "GPRINT:tx_avg:LAST:%5.1lf%s Last\\l",
2158                         "GPRINT:tx_avg_sum:LAST:(ca. %4.0lf%s Total)",
2159                         "LINE1:rx_avg#" .. self.palette.FullBlue .. ":RX",
2160                         #"GPRINT:rx_min:MIN:%5.1lf %s Min,",
2161                         "GPRINT:rx_avg:AVERAGE:%5.1lf%s Avg,",
2162                         "GPRINT:rx_max:MAX:%5.1lf%s Max,",
2163                         "GPRINT:rx_avg:LAST:%5.1lf%s Last\\l",
2164                         "GPRINT:rx_avg_sum:LAST:(ca. %4.0lf%s Total)"
2165                 },
2166
2167                 if_packets = {
2168                         "-v", "Packets/s",
2169                         "DEF:tx_min={file}:tx:MIN",
2170                         "DEF:tx_avg={file}:tx:AVERAGE",
2171                         "DEF:tx_max={file}:tx:MAX",
2172                         "DEF:rx_min={file}:rx:MIN",
2173                         "DEF:rx_avg={file}:rx:AVERAGE",
2174                         "DEF:rx_max={file}:rx:MAX",
2175                         "CDEF:overlap=tx_avg,rx_avg,GT,rx_avg,tx_avg,IF",
2176                         "CDEF:mytime=tx_avg,TIME,TIME,IF",
2177                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
2178                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
2179                         "CDEF:tx_avg_sample=tx_avg,UN,0,tx_avg,IF,sample_len,*",
2180                         "CDEF:tx_avg_sum=PREV,UN,0,PREV,IF,tx_avg_sample,+",
2181                         "CDEF:rx_avg_sample=rx_avg,UN,0,rx_avg,IF,sample_len,*",
2182                         "CDEF:rx_avg_sum=PREV,UN,0,PREV,IF,rx_avg_sample,+",
2183                         "AREA:tx_avg#" .. self.palette.HalfGreen,
2184                         "AREA:rx_avg#" .. self.palette.HalfBlue,
2185                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
2186                         "LINE1:tx_avg#" .. self.palette.FullGreen .. ":TX",
2187                         "GPRINT:tx_avg:AVERAGE:%5.1lf%s Avg,",
2188                         "GPRINT:tx_max:MAX:%5.1lf%s Max,",
2189                         "GPRINT:tx_avg:LAST:%5.1lf%s Last\\l",
2190                         "GPRINT:tx_avg_sum:LAST:(ca. %4.0lf%s Total)",
2191                         "LINE1:rx_avg#" .. self.palette.FullBlue .. ":RX",
2192                         #"GPRINT:rx_min:MIN:%5.1lf %s Min,",
2193                         "GPRINT:rx_avg:AVERAGE:%5.1lf%s Avg,",
2194                         "GPRINT:rx_max:MAX:%5.1lf%s Max,",
2195                         "GPRINT:rx_avg:LAST:%5.1lf%s Last\\l",
2196                         "GPRINT:rx_avg_sum:LAST:(ca. %4.0lf%s Total)"
2197                 },
2198
2199                 if_rx_errors = {
2200                         "-v", "Errors/s",
2201                         "DEF:min={file}:value:MIN",
2202                         "DEF:avg={file}:value:AVERAGE",
2203                         "DEF:max={file}:value:MAX",
2204                         "CDEF:mytime=avg,TIME,TIME,IF",
2205                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
2206                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
2207                         "CDEF:avg_sample=avg,UN,0,avg,IF,sample_len,*",
2208                         "CDEF:avg_sum=PREV,UN,0,PREV,IF,avg_sample,+",
2209                         "AREA:avg#" .. self.palette.HalfBlue,
2210                         "LINE1:avg#" .. self.palette.FullBlue .. ":Errors/s",
2211                         "GPRINT:avg:AVERAGE:%3.1lf%s Avg,",
2212                         "GPRINT:max:MAX:%3.1lf%s Max,",
2213                         "GPRINT:avg:LAST:%3.1lf%s Last\\l",
2214                         "GPRINT:avg_sum:LAST:(ca. %2.0lf%s Total)"
2215                 },
2216
2217                 ipt_bytes = {
2218                         "-v", "Bits/s",
2219                         "DEF:min_raw={file}:value:MIN",
2220                         "DEF:avg_raw={file}:value:AVERAGE",
2221                         "DEF:max_raw={file}:value:MAX",
2222                         "CDEF:min=min_raw,8,*",
2223                         "CDEF:avg=avg_raw,8,*",
2224                         "CDEF:max=max_raw,8,*",
2225                         "CDEF:mytime=avg_raw,TIME,TIME,IF",
2226                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
2227                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
2228                         "CDEF:avg_sample=avg_raw,UN,0,avg_raw,IF,sample_len,*",
2229                         "CDEF:avg_sum=PREV,UN,0,PREV,IF,avg_sample,+",
2230                         "AREA:max#" .. self.palette.HalfBlue,
2231                         "AREA:min#" .. self.palette.Canvas,
2232                         "LINE1:avg#" .. self.palette.FullBlue .. ":Bits/s",
2233                         #"GPRINT:min:MIN:%5.1lf %s Min,",
2234                         "GPRINT:avg:AVERAGE:%5.1lf%s Avg,",
2235                         "GPRINT:max:MAX:%5.1lf%s Max,",
2236                         "GPRINT:avg:LAST:%5.1lf%s Last\\l",
2237                         "GPRINT:avg_sum:LAST:(ca. %5.1lf%sB Total)"
2238                 },
2239
2240                 ipt_packets = {
2241                         "-v", "Packets/s",
2242                         "DEF:min_raw={file}:value:MIN",
2243                         "DEF:avg_raw={file}:value:AVERAGE",
2244                         "DEF:max_raw={file}:value:MAX",
2245                         "CDEF:min=min_raw,8,*",
2246                         "CDEF:avg=avg_raw,8,*",
2247                         "CDEF:max=max_raw,8,*",
2248                         "AREA:max#" .. self.palette.HalfBlue,
2249                         "AREA:min#" .. self.palette.Canvas,
2250                         "LINE1:avg#" .. self.palette.FullBlue .. ":Packets/s",
2251                         "GPRINT:min:MIN:%5.1lf %s Min,",
2252                         "GPRINT:avg:AVERAGE:%5.1lf%s Avg,",
2253                         "GPRINT:max:MAX:%5.1lf%s Max,",
2254                         "GPRINT:avg:LAST:%5.1lf%s Last\\l"
2255                 },
2256
2257                 irq = {
2258                         "-v", "Issues/s",
2259                         "DEF:avg={file}:value:AVERAGE",
2260                         "DEF:min={file}:value:MIN",
2261                         "DEF:max={file}:value:MAX",
2262                         "AREA:max#" .. self.palette.HalfBlue,
2263                         "AREA:min#" .. self.palette.Canvas,
2264                         "LINE1:avg#" .. self.palette.FullBlue .. ":Issues/s",
2265                         "GPRINT:min:MIN:%6.2lf Min,",
2266                         "GPRINT:avg:AVERAGE:%6.2lf Avg,",
2267                         "GPRINT:max:MAX:%6.2lf Max,",
2268                         "GPRINT:avg:LAST:%6.2lf Last\\l"
2269                 },
2270
2271                 load = {
2272                         "-v", "System load",
2273                         "DEF:s_avg={file}:shortterm:AVERAGE",
2274                         "DEF:s_min={file}:shortterm:MIN",
2275                         "DEF:s_max={file}:shortterm:MAX",
2276                         "DEF:m_avg={file}:midterm:AVERAGE",
2277                         "DEF:m_min={file}:midterm:MIN",
2278                         "DEF:m_max={file}:midterm:MAX",
2279                         "DEF:l_avg={file}:longterm:AVERAGE",
2280                         "DEF:l_min={file}:longterm:MIN",
2281                         "DEF:l_max={file}:longterm:MAX",
2282                         "AREA:s_max#" .. self.palette.HalfGreen,
2283                         "AREA:s_min#" .. self.palette.Canvas,
2284                         "LINE1:s_avg#" .. self.palette.FullGreen .. ": 1m average",
2285                         "GPRINT:s_min:MIN:%4.2lf Min,",
2286                         "GPRINT:s_avg:AVERAGE:%4.2lf Avg,",
2287                         "GPRINT:s_max:MAX:%4.2lf Max,",
2288                         "GPRINT:s_avg:LAST:%4.2lf Last\n",
2289                         "LINE1:m_avg#" .. self.palette.FullBlue .. ": 5m average",
2290                         "GPRINT:m_min:MIN:%4.2lf Min,",
2291                         "GPRINT:m_avg:AVERAGE:%4.2lf Avg,",
2292                         "GPRINT:m_max:MAX:%4.2lf Max,",
2293                         "GPRINT:m_avg:LAST:%4.2lf Last\n",
2294                         "LINE1:l_avg#" .. self.palette.FullRed .. ":15m average",
2295                         "GPRINT:l_min:MIN:%4.2lf Min,",
2296                         "GPRINT:l_avg:AVERAGE:%4.2lf Avg,",
2297                         "GPRINT:l_max:MAX:%4.2lf Max,",
2298                         "GPRINT:l_avg:LAST:%4.2lf Last\\l"
2299                 },
2300
2301                 load_percent = {
2302                         "DEF:avg={file}:percent:AVERAGE",
2303                         "DEF:min={file}:percent:MIN",
2304                         "DEF:max={file}:percent:MAX",
2305                         "AREA:max#" .. self.palette.HalfBlue,
2306                         "AREA:min#" .. self.palette.Canvas,
2307                         "LINE1:avg#" .. self.palette.FullBlue .. ":Load",
2308                         "GPRINT:min:MIN:%5.1lf%s%% Min,",
2309                         "GPRINT:avg:AVERAGE:%5.1lf%s%% Avg,",
2310                         "GPRINT:max:MAX:%5.1lf%s%% Max,",
2311                         "GPRINT:avg:LAST:%5.1lf%s%% Last\\l"
2312                 },
2313
2314                 mails = {
2315                         "DEF:rawgood={file}:good:AVERAGE",
2316                         "DEF:rawspam={file}:spam:AVERAGE",
2317                         "CDEF:good=rawgood,UN,0,rawgood,IF",
2318                         "CDEF:spam=rawspam,UN,0,rawspam,IF",
2319                         "CDEF:negspam=spam,-1,*",
2320                         "AREA:good#" .. self.palette.HalfGreen,
2321                         "LINE1:good#" .. self.palette.FullGreen .. ":Good mails",
2322                         "GPRINT:good:AVERAGE:%4.1lf Avg,",
2323                         "GPRINT:good:MAX:%4.1lf Max,",
2324                         "GPRINT:good:LAST:%4.1lf Last\n",
2325                         "AREA:negspam#" .. self.palette.HalfRed,
2326                         "LINE1:negspam#" .. self.palette.FullRed .. ":Spam mails",
2327                         "GPRINT:spam:AVERAGE:%4.1lf Avg,",
2328                         "GPRINT:spam:MAX:%4.1lf Max,",
2329                         "GPRINT:spam:LAST:%4.1lf Last\\l",
2330                         "HRULE:0#000000"
2331                 },
2332
2333                 memory = {
2334                         "-b", "1024", "-v", "Bytes",
2335                         "DEF:avg={file}:value:AVERAGE",
2336                         "DEF:min={file}:value:MIN",
2337                         "DEF:max={file}:value:MAX",
2338                         "AREA:max#" .. self.palette.HalfBlue,
2339                         "AREA:min#" .. self.palette.Canvas,
2340                         "LINE1:avg#" .. self.palette.FullBlue .. ":Memory",
2341                         "GPRINT:min:MIN:%5.1lf%sbyte Min,",
2342                         "GPRINT:avg:AVERAGE:%5.1lf%sbyte Avg,",
2343                         "GPRINT:max:MAX:%5.1lf%sbyte Max,",
2344                         "GPRINT:avg:LAST:%5.1lf%sbyte Last\\l"
2345                 },
2346
2347                 old_memory = {
2348                         "DEF:used_avg={file}:used:AVERAGE",
2349                         "DEF:free_avg={file}:free:AVERAGE",
2350                         "DEF:buffers_avg={file}:buffers:AVERAGE",
2351                         "DEF:cached_avg={file}:cached:AVERAGE",
2352                         "DEF:used_min={file}:used:MIN",
2353                         "DEF:free_min={file}:free:MIN",
2354                         "DEF:buffers_min={file}:buffers:MIN",
2355                         "DEF:cached_min={file}:cached:MIN",
2356                         "DEF:used_max={file}:used:MAX",
2357                         "DEF:free_max={file}:free:MAX",
2358                         "DEF:buffers_max={file}:buffers:MAX",
2359                         "DEF:cached_max={file}:cached:MAX",
2360                         "CDEF:cached_avg_nn=cached_avg,UN,0,cached_avg,IF",
2361                         "CDEF:buffers_avg_nn=buffers_avg,UN,0,buffers_avg,IF",
2362                         "CDEF:free_cached_buffers_used=free_avg,cached_avg_nn,+,buffers_avg_nn,+,used_avg,+",
2363                         "CDEF:cached_buffers_used=cached_avg,buffers_avg_nn,+,used_avg,+",
2364                         "CDEF:buffers_used=buffers_avg,used_avg,+",
2365                         "AREA:free_cached_buffers_used#" .. self.palette.HalfGreen,
2366                         "AREA:cached_buffers_used#" .. self.palette.HalfBlue,
2367                         "AREA:buffers_used#" .. self.palette.HalfYellow,
2368                         "AREA:used_avg#" .. self.palette.HalfRed,
2369                         "LINE1:free_cached_buffers_used#" .. self.palette.FullGreen .. ":Free        ",
2370                         "GPRINT:free_min:MIN:%5.1lf%s Min,",
2371                         "GPRINT:free_avg:AVERAGE:%5.1lf%s Avg,",
2372                         "GPRINT:free_max:MAX:%5.1lf%s Max,",
2373                         "GPRINT:free_avg:LAST:%5.1lf%s Last\n",
2374                         "LINE1:cached_buffers_used#" .. self.palette.FullBlue .. ":Page cache  ",
2375                         "GPRINT:cached_min:MIN:%5.1lf%s Min,",
2376                         "GPRINT:cached_avg:AVERAGE:%5.1lf%s Avg,",
2377                         "GPRINT:cached_max:MAX:%5.1lf%s Max,",
2378                         "GPRINT:cached_avg:LAST:%5.1lf%s Last\n",
2379                         "LINE1:buffers_used#" .. self.palette.FullYellow .. ":Buffer cache",
2380                         "GPRINT:buffers_min:MIN:%5.1lf%s Min,",
2381                         "GPRINT:buffers_avg:AVERAGE:%5.1lf%s Avg,",
2382                         "GPRINT:buffers_max:MAX:%5.1lf%s Max,",
2383                         "GPRINT:buffers_avg:LAST:%5.1lf%s Last\n",
2384                         "LINE1:used_avg#" .. self.palette.FullRed .. ":Used        ",
2385                         "GPRINT:used_min:MIN:%5.1lf%s Min,",
2386                         "GPRINT:used_avg:AVERAGE:%5.1lf%s Avg,",
2387                         "GPRINT:used_max:MAX:%5.1lf%s Max,",
2388                         "GPRINT:used_avg:LAST:%5.1lf%s Last\\l"
2389                 },
2390
2391                 mysql_commands = {
2392                         "-v", "Issues/s",
2393                         "DEF:val_avg={file}:value:AVERAGE",
2394                         "DEF:val_min={file}:value:MIN",
2395                         "DEF:val_max={file}:value:MAX",
2396                         "AREA:val_max#" .. self.palette.HalfBlue,
2397                         "AREA:val_min#" .. self.palette.Canvas,
2398                         "LINE1:val_avg#" .. self.palette.FullBlue .. ":Issues/s",
2399                         "GPRINT:val_min:MIN:%5.2lf Min,",
2400                         "GPRINT:val_avg:AVERAGE:%5.2lf Avg,",
2401                         "GPRINT:val_max:MAX:%5.2lf Max,",
2402                         "GPRINT:val_avg:LAST:%5.2lf Last\\l"
2403                 },
2404
2405                 mysql_handler = {
2406                         "-v", "Issues/s",
2407                         "DEF:val_avg={file}:value:AVERAGE",
2408                         "DEF:val_min={file}:value:MIN",
2409                         "DEF:val_max={file}:value:MAX",
2410                         "AREA:val_max#" .. self.palette.HalfBlue,
2411                         "AREA:val_min#" .. self.palette.Canvas,
2412                         "LINE1:val_avg#" .. self.palette.FullBlue .. ":Issues/s",
2413                         "GPRINT:val_min:MIN:%5.2lf Min,",
2414                         "GPRINT:val_avg:AVERAGE:%5.2lf Avg,",
2415                         "GPRINT:val_max:MAX:%5.2lf Max,",
2416                         "GPRINT:val_avg:LAST:%5.2lf Last\\l"
2417                 },
2418
2419                 mysql_octets = {
2420                         "-v", "Bits/s",
2421                         "DEF:out_min={file}:tx:MIN",
2422                         "DEF:out_avg={file}:tx:AVERAGE",
2423                         "DEF:out_max={file}:tx:MAX",
2424                         "DEF:inc_min={file}:rx:MIN",
2425                         "DEF:inc_avg={file}:rx:AVERAGE",
2426                         "DEF:inc_max={file}:rx:MAX",
2427                         "CDEF:mytime=out_avg,TIME,TIME,IF",
2428                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
2429                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
2430                         "CDEF:out_avg_sample=out_avg,UN,0,out_avg,IF,sample_len,*",
2431                         "CDEF:out_avg_sum=PREV,UN,0,PREV,IF,out_avg_sample,+",
2432                         "CDEF:inc_avg_sample=inc_avg,UN,0,inc_avg,IF,sample_len,*",
2433                         "CDEF:inc_avg_sum=PREV,UN,0,PREV,IF,inc_avg_sample,+",
2434                         "CDEF:out_bit_min=out_min,8,*",
2435                         "CDEF:out_bit_avg=out_avg,8,*",
2436                         "CDEF:out_bit_max=out_max,8,*",
2437                         "CDEF:inc_bit_min=inc_min,8,*",
2438                         "CDEF:inc_bit_avg=inc_avg,8,*",
2439                         "CDEF:inc_bit_max=inc_max,8,*",
2440                         "CDEF:overlap=out_bit_avg,inc_bit_avg,GT,inc_bit_avg,out_bit_avg,IF",
2441                         "AREA:out_bit_avg#" .. self.palette.HalfGreen,
2442                         "AREA:inc_bit_avg#" .. self.palette.HalfBlue,
2443                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
2444                         "LINE1:out_bit_avg#" .. self.palette.FullGreen .. ":Written",
2445                         "GPRINT:out_bit_avg:AVERAGE:%5.1lf%s Avg,",
2446                         "GPRINT:out_bit_max:MAX:%5.1lf%s Max,",
2447                         "GPRINT:out_bit_avg:LAST:%5.1lf%s Last\\l",
2448                         "GPRINT:out_avg_sum:LAST:(ca. %5.1lf%sB Total)",
2449                         "LINE1:inc_bit_avg#" .. self.palette.FullBlue .. ":Read   ",
2450                         "GPRINT:inc_bit_avg:AVERAGE:%5.1lf%s Avg,",
2451                         "GPRINT:inc_bit_max:MAX:%5.1lf%s Max,",
2452                         "GPRINT:inc_bit_avg:LAST:%5.1lf%s Last\\l",
2453                         "GPRINT:inc_avg_sum:LAST:(ca. %5.1lf%sB Total)"
2454                 },
2455
2456                 mysql_qcache = {
2457                         "-v", "Queries/s",
2458                         "DEF:hits_min={file}:hits:MIN",
2459                         "DEF:hits_avg={file}:hits:AVERAGE",
2460                         "DEF:hits_max={file}:hits:MAX",
2461                         "DEF:inserts_min={file}:inserts:MIN",
2462                         "DEF:inserts_avg={file}:inserts:AVERAGE",
2463                         "DEF:inserts_max={file}:inserts:MAX",
2464                         "DEF:not_cached_min={file}:not_cached:MIN",
2465                         "DEF:not_cached_avg={file}:not_cached:AVERAGE",
2466                         "DEF:not_cached_max={file}:not_cached:MAX",
2467                         "DEF:lowmem_prunes_min={file}:lowmem_prunes:MIN",
2468                         "DEF:lowmem_prunes_avg={file}:lowmem_prunes:AVERAGE",
2469                         "DEF:lowmem_prunes_max={file}:lowmem_prunes:MAX",
2470                         "DEF:queries_min={file}:queries_in_cache:MIN",
2471                         "DEF:queries_avg={file}:queries_in_cache:AVERAGE",
2472                         "DEF:queries_max={file}:queries_in_cache:MAX",
2473                         "CDEF:unknown=queries_avg,UNKN,+",
2474                         "CDEF:not_cached_agg=hits_avg,inserts_avg,+,not_cached_avg,+",
2475                         "CDEF:inserts_agg=hits_avg,inserts_avg,+",
2476                         "CDEF:hits_agg=hits_avg",
2477                         "AREA:not_cached_agg#" .. self.palette.HalfYellow,
2478                         "AREA:inserts_agg#" .. self.palette.HalfBlue,
2479                         "AREA:hits_agg#" .. self.palette.HalfGreen,
2480                         "LINE1:not_cached_agg#" .. self.palette.FullYellow .. ":Not Cached      ",
2481                         "GPRINT:not_cached_min:MIN:%5.2lf Min,",
2482                         "GPRINT:not_cached_avg:AVERAGE:%5.2lf Avg,",
2483                         "GPRINT:not_cached_max:MAX:%5.2lf Max,",
2484                         "GPRINT:not_cached_avg:LAST:%5.2lf Last\\l",
2485                         "LINE1:inserts_agg#" .. self.palette.FullBlue .. ":Inserts         ",
2486                         "GPRINT:inserts_min:MIN:%5.2lf Min,",
2487                         "GPRINT:inserts_avg:AVERAGE:%5.2lf Avg,",
2488                         "GPRINT:inserts_max:MAX:%5.2lf Max,",
2489                         "GPRINT:inserts_avg:LAST:%5.2lf Last\\l",
2490                         "LINE1:hits_agg#" .. self.palette.FullGreen .. ":Hits            ",
2491                         "GPRINT:hits_min:MIN:%5.2lf Min,",
2492                         "GPRINT:hits_avg:AVERAGE:%5.2lf Avg,",
2493                         "GPRINT:hits_max:MAX:%5.2lf Max,",
2494                         "GPRINT:hits_avg:LAST:%5.2lf Last\\l",
2495                         "LINE1:lowmem_prunes_avg#" .. self.palette.FullRed .. ":Lowmem Prunes   ",
2496                         "GPRINT:lowmem_prunes_min:MIN:%5.2lf Min,",
2497                         "GPRINT:lowmem_prunes_avg:AVERAGE:%5.2lf Avg,",
2498                         "GPRINT:lowmem_prunes_max:MAX:%5.2lf Max,",
2499                         "GPRINT:lowmem_prunes_avg:LAST:%5.2lf Last\\l",
2500                         "LINE1:unknown#" .. self.palette.Canvas .. ":Queries in cache",
2501                         "GPRINT:queries_min:MIN:%5.0lf Min,",
2502                         "GPRINT:queries_avg:AVERAGE:%5.0lf Avg,",
2503                         "GPRINT:queries_max:MAX:%5.0lf Max,",
2504                         "GPRINT:queries_avg:LAST:%5.0lf Last\\l"
2505                 },
2506
2507                 mysql_threads = {
2508                         "-v", "Threads",
2509                         "DEF:running_min={file}:running:MIN",
2510                         "DEF:running_avg={file}:running:AVERAGE",
2511                         "DEF:running_max={file}:running:MAX",
2512                         "DEF:connected_min={file}:connected:MIN",
2513                         "DEF:connected_avg={file}:connected:AVERAGE",
2514                         "DEF:connected_max={file}:connected:MAX",
2515                         "DEF:cached_min={file}:cached:MIN",
2516                         "DEF:cached_avg={file}:cached:AVERAGE",
2517                         "DEF:cached_max={file}:cached:MAX",
2518                         "DEF:created_min={file}:created:MIN",
2519                         "DEF:created_avg={file}:created:AVERAGE",
2520                         "DEF:created_max={file}:created:MAX",
2521                         "CDEF:unknown=created_avg,UNKN,+",
2522                         "CDEF:cached_agg=connected_avg,cached_avg,+",
2523                         "AREA:cached_agg#" .. self.palette.HalfGreen,
2524                         "AREA:connected_avg#" .. self.palette.HalfBlue,
2525                         "AREA:running_avg#" .. self.palette.HalfRed,
2526                         "LINE1:cached_agg#" .. self.palette.FullGreen .. ":Cached   ",
2527                         "GPRINT:cached_min:MIN:%5.1lf Min,",
2528                         "GPRINT:cached_avg:AVERAGE:%5.1lf Avg,",
2529                         "GPRINT:cached_max:MAX:%5.1lf Max,",
2530                         "GPRINT:cached_avg:LAST:%5.1lf Last\\l",
2531                         "LINE1:connected_avg#" .. self.palette.FullBlue .. ":Connected",
2532                         "GPRINT:connected_min:MIN:%5.1lf Min,",
2533                         "GPRINT:connected_avg:AVERAGE:%5.1lf Avg,",
2534                         "GPRINT:connected_max:MAX:%5.1lf Max,",
2535                         "GPRINT:connected_avg:LAST:%5.1lf Last\\l",
2536                         "LINE1:running_avg#" .. self.palette.FullRed .. ":Running  ",
2537                         "GPRINT:running_min:MIN:%5.1lf Min,",
2538                         "GPRINT:running_avg:AVERAGE:%5.1lf Avg,",
2539                         "GPRINT:running_max:MAX:%5.1lf Max,",
2540                         "GPRINT:running_avg:LAST:%5.1lf Last\\l",
2541                         "LINE1:unknown#" .. self.palette.Canvas .. ":Created  ",
2542                         "GPRINT:created_min:MIN:%5.0lf Min,",
2543                         "GPRINT:created_avg:AVERAGE:%5.0lf Avg,",
2544                         "GPRINT:created_max:MAX:%5.0lf Max,",
2545                         "GPRINT:created_avg:LAST:%5.0lf Last\\l"
2546                 },
2547
2548                 nfs_procedure = {
2549                         "-v", "Issues/s",
2550                         "DEF:avg={file}:value:AVERAGE",
2551                         "DEF:min={file}:value:MIN",
2552                         "DEF:max={file}:value:MAX",
2553                         "AREA:max#" .. self.palette.HalfBlue,
2554                         "AREA:min#" .. self.palette.Canvas,
2555                         "LINE1:avg#" .. self.palette.FullBlue .. ":Issues/s",
2556                         "GPRINT:min:MIN:%6.2lf Min,",
2557                         "GPRINT:avg:AVERAGE:%6.2lf Avg,",
2558                         "GPRINT:max:MAX:%6.2lf Max,",
2559                         "GPRINT:avg:LAST:%6.2lf Last\\l"
2560                 },
2561
2562                 nfs3_procedures = {
2563                         "DEF:null_avg={file}:null:AVERAGE",
2564                         "DEF:getattr_avg={file}:getattr:AVERAGE",
2565                         "DEF:setattr_avg={file}:setattr:AVERAGE",
2566                         "DEF:lookup_avg={file}:lookup:AVERAGE",
2567                         "DEF:access_avg={file}:access:AVERAGE",
2568                         "DEF:readlink_avg={file}:readlink:AVERAGE",
2569                         "DEF:read_avg={file}:read:AVERAGE",
2570                         "DEF:write_avg={file}:write:AVERAGE",
2571                         "DEF:create_avg={file}:create:AVERAGE",
2572                         "DEF:mkdir_avg={file}:mkdir:AVERAGE",
2573                         "DEF:symlink_avg={file}:symlink:AVERAGE",
2574                         "DEF:mknod_avg={file}:mknod:AVERAGE",
2575                         "DEF:remove_avg={file}:remove:AVERAGE",
2576                         "DEF:rmdir_avg={file}:rmdir:AVERAGE",
2577                         "DEF:rename_avg={file}:rename:AVERAGE",
2578                         "DEF:link_avg={file}:link:AVERAGE",
2579                         "DEF:readdir_avg={file}:readdir:AVERAGE",
2580                         "DEF:readdirplus_avg={file}:readdirplus:AVERAGE",
2581                         "DEF:fsstat_avg={file}:fsstat:AVERAGE",
2582                         "DEF:fsinfo_avg={file}:fsinfo:AVERAGE",
2583                         "DEF:pathconf_avg={file}:pathconf:AVERAGE",
2584                         "DEF:commit_avg={file}:commit:AVERAGE",
2585                         "DEF:null_max={file}:null:MAX",
2586                         "DEF:getattr_max={file}:getattr:MAX",
2587                         "DEF:setattr_max={file}:setattr:MAX",
2588                         "DEF:lookup_max={file}:lookup:MAX",
2589                         "DEF:access_max={file}:access:MAX",
2590                         "DEF:readlink_max={file}:readlink:MAX",
2591                         "DEF:read_max={file}:read:MAX",
2592                         "DEF:write_max={file}:write:MAX",
2593                         "DEF:create_max={file}:create:MAX",
2594                         "DEF:mkdir_max={file}:mkdir:MAX",
2595                         "DEF:symlink_max={file}:symlink:MAX",
2596                         "DEF:mknod_max={file}:mknod:MAX",
2597                         "DEF:remove_max={file}:remove:MAX",
2598                         "DEF:rmdir_max={file}:rmdir:MAX",
2599                         "DEF:rename_max={file}:rename:MAX",
2600                         "DEF:link_max={file}:link:MAX",
2601                         "DEF:readdir_max={file}:readdir:MAX",
2602                         "DEF:readdirplus_max={file}:readdirplus:MAX",
2603                         "DEF:fsstat_max={file}:fsstat:MAX",
2604                         "DEF:fsinfo_max={file}:fsinfo:MAX",
2605                         "DEF:pathconf_max={file}:pathconf:MAX",
2606                         "DEF:commit_max={file}:commit:MAX",
2607                         "CDEF:other_avg=null_avg,readlink_avg,create_avg,mkdir_avg,symlink_avg,mknod_avg,remove_avg,rmdir_avg,rename_avg,link_avg,readdir_avg,readdirplus_avg,fsstat_avg,fsinfo_avg,pathconf_avg,+,+,+,+,+,+,+,+,+,+,+,+,+,+",
2608                         "CDEF:other_max=null_max,readlink_max,create_max,mkdir_max,symlink_max,mknod_max,remove_max,rmdir_max,rename_max,link_max,readdir_max,readdirplus_max,fsstat_max,fsinfo_max,pathconf_max,+,+,+,+,+,+,+,+,+,+,+,+,+,+",
2609                         "CDEF:stack_read=read_avg",
2610                         "CDEF:stack_getattr=stack_read,getattr_avg,+",
2611                         "CDEF:stack_access=stack_getattr,access_avg,+",
2612                         "CDEF:stack_lookup=stack_access,lookup_avg,+",
2613                         "CDEF:stack_write=stack_lookup,write_avg,+",
2614                         "CDEF:stack_commit=stack_write,commit_avg,+",
2615                         "CDEF:stack_setattr=stack_commit,setattr_avg,+",
2616                         "CDEF:stack_other=stack_setattr,other_avg,+",
2617                         "AREA:stack_other#" .. self.palette.HalfRed,
2618                         "AREA:stack_setattr#" .. self.palette.HalfGreen,
2619                         "AREA:stack_commit#" .. self.palette.HalfYellow,
2620                         "AREA:stack_write#" .. self.palette.HalfGreen,
2621                         "AREA:stack_lookup#" .. self.palette.HalfBlue,
2622                         "AREA:stack_access#" .. self.palette.HalfMagenta,
2623                         "AREA:stack_getattr#" .. self.palette.HalfCyan,
2624                         "AREA:stack_read#" .. self.palette.HalfBlue,
2625                         "LINE1:stack_other#" .. self.palette.FullRed .. ":Other  ",
2626                         "GPRINT:other_max:MAX:%5.1lf Max,",
2627                         "GPRINT:other_avg:AVERAGE:%5.1lf Avg,",
2628                         "GPRINT:other_avg:LAST:%5.1lf Last\\l",
2629                         "LINE1:stack_setattr#" .. self.palette.FullGreen .. ":setattr",
2630                         "GPRINT:setattr_max:MAX:%5.1lf Max,",
2631                         "GPRINT:setattr_avg:AVERAGE:%5.1lf Avg,",
2632                         "GPRINT:setattr_avg:LAST:%5.1lf Last\\l",
2633                         "LINE1:stack_commit#" .. self.palette.FullYellow .. ":commit ",
2634                         "GPRINT:commit_max:MAX:%5.1lf Max,",
2635                         "GPRINT:commit_avg:AVERAGE:%5.1lf Avg,",
2636                         "GPRINT:commit_avg:LAST:%5.1lf Last\\l",
2637                         "LINE1:stack_write#" .. self.palette.FullGreen .. ":write  ",
2638                         "GPRINT:write_max:MAX:%5.1lf Max,",
2639                         "GPRINT:write_avg:AVERAGE:%5.1lf Avg,",
2640                         "GPRINT:write_avg:LAST:%5.1lf Last\\l",
2641                         "LINE1:stack_lookup#" .. self.palette.FullBlue .. ":lookup ",
2642                         "GPRINT:lookup_max:MAX:%5.1lf Max,",
2643                         "GPRINT:lookup_avg:AVERAGE:%5.1lf Avg,",
2644                         "GPRINT:lookup_avg:LAST:%5.1lf Last\\l",
2645                         "LINE1:stack_access#" .. self.palette.FullMagenta .. ":access ",
2646                         "GPRINT:access_max:MAX:%5.1lf Max,",
2647                         "GPRINT:access_avg:AVERAGE:%5.1lf Avg,",
2648                         "GPRINT:access_avg:LAST:%5.1lf Last\\l",
2649                         "LINE1:stack_getattr#" .. self.palette.FullCyan .. ":getattr",
2650                         "GPRINT:getattr_max:MAX:%5.1lf Max,",
2651                         "GPRINT:getattr_avg:AVERAGE:%5.1lf Avg,",
2652                         "GPRINT:getattr_avg:LAST:%5.1lf Last\\l",
2653                         "LINE1:stack_read#" .. self.palette.FullBlue .. ":read   ",
2654                         "GPRINT:read_max:MAX:%5.1lf Max,",
2655                         "GPRINT:read_avg:AVERAGE:%5.1lf Avg,",
2656                         "GPRINT:read_avg:LAST:%5.1lf Last\\l"
2657                 },
2658
2659                 partition = {
2660                         "DEF:rbyte_avg={file}:rbytes:AVERAGE",
2661                         "DEF:rbyte_min={file}:rbytes:MIN",
2662                         "DEF:rbyte_max={file}:rbytes:MAX",
2663                         "DEF:wbyte_avg={file}:wbytes:AVERAGE",
2664                         "DEF:wbyte_min={file}:wbytes:MIN",
2665                         "DEF:wbyte_max={file}:wbytes:MAX",
2666                         "CDEF:overlap=wbyte_avg,rbyte_avg,GT,rbyte_avg,wbyte_avg,IF",
2667                         "AREA:wbyte_avg#" .. self.palette.HalfGreen,
2668                         "AREA:rbyte_avg#" .. self.palette.HalfBlue,
2669                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
2670                         "LINE1:wbyte_avg#" .. self.palette.FullGreen .. ":Write",
2671                         "GPRINT:wbyte_min:MIN:%5.1lf%s Min,",
2672                         "GPRINT:wbyte_avg:AVERAGE:%5.1lf%s Avg,",
2673                         "GPRINT:wbyte_max:MAX:%5.1lf%s Max,",
2674                         "GPRINT:wbyte_avg:LAST:%5.1lf%s Last\\l",
2675                         "LINE1:rbyte_avg#" .. self.palette.FullBlue .. ":Read ",
2676                         "GPRINT:rbyte_min:MIN:%5.1lf%s Min,",
2677                         "GPRINT:rbyte_avg:AVERAGE:%5.1lf%s Avg,",
2678                         "GPRINT:rbyte_max:MAX:%5.1lf%s Max,",
2679                         "GPRINT:rbyte_avg:LAST:%5.1lf%s Last\\l"
2680                 },
2681
2682                 percent = {
2683                         "-v", "Percent",
2684                         "DEF:avg={file}:percent:AVERAGE",
2685                         "DEF:min={file}:percent:MIN",
2686                         "DEF:max={file}:percent:MAX",
2687                         "AREA:max#" .. self.palette.HalfBlue,
2688                         "AREA:min#" .. self.palette.Canvas,
2689                         "LINE1:avg#" .. self.palette.FullBlue .. ":Percent",
2690                         "GPRINT:min:MIN:%5.1lf%% Min,",
2691                         "GPRINT:avg:AVERAGE:%5.1lf%% Avg,",
2692                         "GPRINT:max:MAX:%5.1lf%% Max,",
2693                         "GPRINT:avg:LAST:%5.1lf%% Last\\l"
2694                 },
2695
2696                 ping = {
2697                         "DEF:ping_avg={file}:ping:AVERAGE",
2698                         "DEF:ping_min={file}:ping:MIN",
2699                         "DEF:ping_max={file}:ping:MAX",
2700                         "AREA:ping_max#" .. self.palette.HalfBlue,
2701                         "AREA:ping_min#" .. self.palette.Canvas,
2702                         "LINE1:ping_avg#" .. self.palette.FullBlue .. ":Ping",
2703                         "GPRINT:ping_min:MIN:%4.1lf ms Min,",
2704                         "GPRINT:ping_avg:AVERAGE:%4.1lf ms Avg,",
2705                         "GPRINT:ping_max:MAX:%4.1lf ms Max,",
2706                         "GPRINT:ping_avg:LAST:%4.1lf ms Last\\l"
2707                 },
2708
2709                 power = {
2710                         "-v", "Watt",
2711                         "DEF:avg={file}:value:AVERAGE",
2712                         "DEF:min={file}:value:MIN",
2713                         "DEF:max={file}:value:MAX",
2714                         "AREA:max#" .. self.palette.HalfBlue,
2715                         "AREA:min#" .. self.palette.Canvas,
2716                         "LINE1:avg#" .. self.palette.FullBlue .. ":Watt",
2717                         "GPRINT:min:MIN:%5.1lf%sW Min,",
2718                         "GPRINT:avg:AVERAGE:%5.1lf%sW Avg,",
2719                         "GPRINT:max:MAX:%5.1lf%sW Max,",
2720                         "GPRINT:avg:LAST:%5.1lf%sW Last\\l"
2721                 },
2722
2723                 processes = {
2724                         "DEF:running_avg={file}:running:AVERAGE",
2725                         "DEF:running_min={file}:running:MIN",
2726                         "DEF:running_max={file}:running:MAX",
2727                         "DEF:sleeping_avg={file}:sleeping:AVERAGE",
2728                         "DEF:sleeping_min={file}:sleeping:MIN",
2729                         "DEF:sleeping_max={file}:sleeping:MAX",
2730                         "DEF:zombies_avg={file}:zombies:AVERAGE",
2731                         "DEF:zombies_min={file}:zombies:MIN",
2732                         "DEF:zombies_max={file}:zombies:MAX",
2733                         "DEF:stopped_avg={file}:stopped:AVERAGE",
2734                         "DEF:stopped_min={file}:stopped:MIN",
2735                         "DEF:stopped_max={file}:stopped:MAX",
2736                         "DEF:paging_avg={file}:paging:AVERAGE",
2737                         "DEF:paging_min={file}:paging:MIN",
2738                         "DEF:paging_max={file}:paging:MAX",
2739                         "DEF:blocked_avg={file}:blocked:AVERAGE",
2740                         "DEF:blocked_min={file}:blocked:MIN",
2741                         "DEF:blocked_max={file}:blocked:MAX",
2742                         "CDEF:paging_acc=sleeping_avg,running_avg,stopped_avg,zombies_avg,blocked_avg,paging_avg,+,+,+,+,+",
2743                         "CDEF:blocked_acc=sleeping_avg,running_avg,stopped_avg,zombies_avg,blocked_avg,+,+,+,+",
2744                         "CDEF:zombies_acc=sleeping_avg,running_avg,stopped_avg,zombies_avg,+,+,+",
2745                         "CDEF:stopped_acc=sleeping_avg,running_avg,stopped_avg,+,+",
2746                         "CDEF:running_acc=sleeping_avg,running_avg,+",
2747                         "CDEF:sleeping_acc=sleeping_avg",
2748                         "AREA:paging_acc#" .. self.palette.HalfYellow,
2749                         "AREA:blocked_acc#" .. self.palette.HalfCyan,
2750                         "AREA:zombies_acc#" .. self.palette.HalfRed,
2751                         "AREA:stopped_acc#" .. self.palette.HalfMagenta,
2752                         "AREA:running_acc#" .. self.palette.HalfGreen,
2753                         "AREA:sleeping_acc#" .. self.palette.HalfBlue,
2754                         "LINE1:paging_acc#" .. self.palette.FullYellow .. ":Paging  ",
2755                         "GPRINT:paging_min:MIN:%5.1lf Min,",
2756                         "GPRINT:paging_avg:AVERAGE:%5.1lf Average,",
2757                         "GPRINT:paging_max:MAX:%5.1lf Max,",
2758                         "GPRINT:paging_avg:LAST:%5.1lf Last\\l",
2759                         "LINE1:blocked_acc#" .. self.palette.FullCyan .. ":Blocked ",
2760                         "GPRINT:blocked_min:MIN:%5.1lf Min,",
2761                         "GPRINT:blocked_avg:AVERAGE:%5.1lf Average,",
2762                         "GPRINT:blocked_max:MAX:%5.1lf Max,",
2763                         "GPRINT:blocked_avg:LAST:%5.1lf Last\\l",
2764                         "LINE1:zombies_acc#" .. self.palette.FullRed .. ":Zombies ",
2765                         "GPRINT:zombies_min:MIN:%5.1lf Min,",
2766                         "GPRINT:zombies_avg:AVERAGE:%5.1lf Average,",
2767                         "GPRINT:zombies_max:MAX:%5.1lf Max,",
2768                         "GPRINT:zombies_avg:LAST:%5.1lf Last\\l",
2769                         "LINE1:stopped_acc#" .. self.palette.FullMagenta .. ":Stopped ",
2770                         "GPRINT:stopped_min:MIN:%5.1lf Min,",
2771                         "GPRINT:stopped_avg:AVERAGE:%5.1lf Average,",
2772                         "GPRINT:stopped_max:MAX:%5.1lf Max,",
2773                         "GPRINT:stopped_avg:LAST:%5.1lf Last\\l",
2774                         "LINE1:running_acc#" .. self.palette.FullGreen .. ":Running ",
2775                         "GPRINT:running_min:MIN:%5.1lf Min,",
2776                         "GPRINT:running_avg:AVERAGE:%5.1lf Average,",
2777                         "GPRINT:running_max:MAX:%5.1lf Max,",
2778                         "GPRINT:running_avg:LAST:%5.1lf Last\\l",
2779                         "LINE1:sleeping_acc#" .. self.palette.FullBlue .. ":Sleeping",
2780                         "GPRINT:sleeping_min:MIN:%5.1lf Min,",
2781                         "GPRINT:sleeping_avg:AVERAGE:%5.1lf Average,",
2782                         "GPRINT:sleeping_max:MAX:%5.1lf Max,",
2783                         "GPRINT:sleeping_avg:LAST:%5.1lf Last\\l"
2784                 },
2785
2786                 ps_count = {
2787                         "-v", "Processes",
2788                         "DEF:procs_avg={file}:processes:AVERAGE",
2789                         "DEF:procs_min={file}:processes:MIN",
2790                         "DEF:procs_max={file}:processes:MAX",
2791                         "DEF:thrds_avg={file}:threads:AVERAGE",
2792                         "DEF:thrds_min={file}:threads:MIN",
2793                         "DEF:thrds_max={file}:threads:MAX",
2794                         "AREA:thrds_avg#" .. self.palette.HalfBlue,
2795                         "AREA:procs_avg#" .. self.palette.HalfRed,
2796                         "LINE1:thrds_avg#" .. self.palette.FullBlue .. ":Threads  ",
2797                         "GPRINT:thrds_min:MIN:%5.1lf Min,",
2798                         "GPRINT:thrds_avg:AVERAGE:%5.1lf Avg,",
2799                         "GPRINT:thrds_max:MAX:%5.1lf Max,",
2800                         "GPRINT:thrds_avg:LAST:%5.1lf Last\\l",
2801                         "LINE1:procs_avg#" .. self.palette.FullRed .. ":Processes",
2802                         "GPRINT:procs_min:MIN:%5.1lf Min,",
2803                         "GPRINT:procs_avg:AVERAGE:%5.1lf Avg,",
2804                         "GPRINT:procs_max:MAX:%5.1lf Max,",
2805                         "GPRINT:procs_avg:LAST:%5.1lf Last\\l"
2806                 },
2807
2808                 ps_cputime = {
2809                         "-v", "Jiffies",
2810                         "DEF:user_avg_raw={file}:user:AVERAGE",
2811                         "DEF:user_min_raw={file}:user:MIN",
2812                         "DEF:user_max_raw={file}:user:MAX",
2813                         "DEF:syst_avg_raw={file}:syst:AVERAGE",
2814                         "DEF:syst_min_raw={file}:syst:MIN",
2815                         "DEF:syst_max_raw={file}:syst:MAX",
2816                         "CDEF:user_avg=user_avg_raw,1000000,/",
2817                         "CDEF:user_min=user_min_raw,1000000,/",
2818                         "CDEF:user_max=user_max_raw,1000000,/",
2819                         "CDEF:syst_avg=syst_avg_raw,1000000,/",
2820                         "CDEF:syst_min=syst_min_raw,1000000,/",
2821                         "CDEF:syst_max=syst_max_raw,1000000,/",
2822                         "CDEF:user_syst=syst_avg,UN,0,syst_avg,IF,user_avg,+",
2823                         "AREA:user_syst#" .. self.palette.HalfBlue,
2824                         "AREA:syst_avg#" .. self.palette.HalfRed,
2825                         "LINE1:user_syst#" .. self.palette.FullBlue .. ":User  ",
2826                         "GPRINT:user_min:MIN:%5.1lf%s Min,",
2827                         "GPRINT:user_avg:AVERAGE:%5.1lf%s Avg,",
2828                         "GPRINT:user_max:MAX:%5.1lf%s Max,",
2829                         "GPRINT:user_avg:LAST:%5.1lf%s Last\\l",
2830                         "LINE1:syst_avg#" .. self.palette.FullRed .. ":System",
2831                         "GPRINT:syst_min:MIN:%5.1lf%s Min,",
2832                         "GPRINT:syst_avg:AVERAGE:%5.1lf%s Avg,",
2833                         "GPRINT:syst_max:MAX:%5.1lf%s Max,",
2834                         "GPRINT:syst_avg:LAST:%5.1lf%s Last\\l"
2835                 },
2836
2837                 ps_pagefaults = {
2838                         "-v", "Pagefaults/s",
2839                         "DEF:minor_avg={file}:minflt:AVERAGE",
2840                         "DEF:minor_min={file}:minflt:MIN",
2841                         "DEF:minor_max={file}:minflt:MAX",
2842                         "DEF:major_avg={file}:majflt:AVERAGE",
2843                         "DEF:major_min={file}:majflt:MIN",
2844                         "DEF:major_max={file}:majflt:MAX",
2845                         "CDEF:minor_major=major_avg,UN,0,major_avg,IF,minor_avg,+",
2846                         "AREA:minor_major#" .. self.palette.HalfBlue,
2847                         "AREA:major_avg#" .. self.palette.HalfRed,
2848                         "LINE1:minor_major#" .. self.palette.FullBlue .. ":Minor",
2849                         "GPRINT:minor_min:MIN:%5.1lf%s Min,",
2850                         "GPRINT:minor_avg:AVERAGE:%5.1lf%s Avg,",
2851                         "GPRINT:minor_max:MAX:%5.1lf%s Max,",
2852                         "GPRINT:minor_avg:LAST:%5.1lf%s Last\\l",
2853                         "LINE1:major_avg#" .. self.palette.FullRed .. ":Major",
2854                         "GPRINT:major_min:MIN:%5.1lf%s Min,",
2855                         "GPRINT:major_avg:AVERAGE:%5.1lf%s Avg,",
2856                         "GPRINT:major_max:MAX:%5.1lf%s Max,",
2857                         "GPRINT:major_avg:LAST:%5.1lf%s Last\\l"
2858                 },
2859
2860                 ps_rss = {
2861                         "-v", "Bytes",
2862                         "DEF:avg={file}:value:AVERAGE",
2863                         "DEF:min={file}:value:MIN",
2864                         "DEF:max={file}:value:MAX",
2865                         "AREA:avg#" .. self.palette.HalfBlue,
2866                         "LINE1:avg#" .. self.palette.FullBlue .. ":RSS",
2867                         "GPRINT:min:MIN:%5.1lf%s Min,",
2868                         "GPRINT:avg:AVERAGE:%5.1lf%s Avg,",
2869                         "GPRINT:max:MAX:%5.1lf%s Max,",
2870                         "GPRINT:avg:LAST:%5.1lf%s Last\\l"
2871                 },
2872
2873                 ps_state = {
2874                         "-v", "Processes",
2875                         "DEF:avg={file}:value:AVERAGE",
2876                         "DEF:min={file}:value:MIN",
2877                         "DEF:max={file}:value:MAX",
2878                         "AREA:max#" .. self.palette.HalfBlue,
2879                         "AREA:min#" .. self.palette.Canvas,
2880                         "LINE1:avg#" .. self.palette.FullBlue .. ":Processes",
2881                         "GPRINT:min:MIN:%6.2lf Min,",
2882                         "GPRINT:avg:AVERAGE:%6.2lf Avg,",
2883                         "GPRINT:max:MAX:%6.2lf Max,",
2884                         "GPRINT:avg:LAST:%6.2lf Last\\l"
2885                 },
2886
2887                 signal_noise = {
2888                         "-v", "dBm",
2889                         "DEF:avg={file}:value:AVERAGE",
2890                         "DEF:min={file}:value:MIN",
2891                         "DEF:max={file}:value:MAX",
2892                         "AREA:max#" .. self.palette.HalfBlue,
2893                         "AREA:min#" .. self.palette.Canvas,
2894                         "LINE1:avg#" .. self.palette.FullBlue .. ":Noise",
2895                         "GPRINT:min:MIN:%5.1lf%sdBm Min,",
2896                         "GPRINT:avg:AVERAGE:%5.1lf%sdBm Avg,",
2897                         "GPRINT:max:MAX:%5.1lf%sdBm Max,",
2898                         "GPRINT:avg:LAST:%5.1lf%sdBm Last\\l"
2899                 },
2900
2901                 signal_power = {
2902                         "-v", "dBm",
2903                         "DEF:avg={file}:value:AVERAGE",
2904                         "DEF:min={file}:value:MIN",
2905                         "DEF:max={file}:value:MAX",
2906                         "AREA:max#" .. self.palette.HalfBlue,
2907                         "AREA:min#" .. self.palette.Canvas,
2908                         "LINE1:avg#" .. self.palette.FullBlue .. ":Power",
2909                         "GPRINT:min:MIN:%5.1lf%sdBm Min,",
2910                         "GPRINT:avg:AVERAGE:%5.1lf%sdBm Avg,",
2911                         "GPRINT:max:MAX:%5.1lf%sdBm Max,",
2912                         "GPRINT:avg:LAST:%5.1lf%sdBm Last\\l"
2913                 },
2914
2915                 signal_quality = {
2916                         "-v", "%",
2917                         "DEF:avg={file}:value:AVERAGE",
2918                         "DEF:min={file}:value:MIN",
2919                         "DEF:max={file}:value:MAX",
2920                         "AREA:max#" .. self.palette.HalfBlue,
2921                         "AREA:min#" .. self.palette.Canvas,
2922                         "LINE1:avg#" .. self.palette.FullBlue .. ":Quality",
2923                         "GPRINT:min:MIN:%5.1lf%s%% Min,",
2924                         "GPRINT:avg:AVERAGE:%5.1lf%s%% Avg,",
2925                         "GPRINT:max:MAX:%5.1lf%s%% Max,",
2926                         "GPRINT:avg:LAST:%5.1lf%s%% Last\\l"
2927                 },
2928
2929                 swap = {
2930                         "-v", "Bytes", "-b", "1024",
2931                         "DEF:avg={file}:value:AVERAGE",
2932                         "DEF:min={file}:value:MIN",
2933                         "DEF:max={file}:value:MAX",
2934                         "AREA:max#" .. self.palette.HalfBlue,
2935                         "AREA:min#" .. self.palette.Canvas,
2936                         "LINE1:avg#" .. self.palette.FullBlue .. ":Bytes",
2937                         "GPRINT:min:MIN:%6.2lf%sByte Min,",
2938                         "GPRINT:avg:AVERAGE:%6.2lf%sByte Avg,",
2939                         "GPRINT:max:MAX:%6.2lf%sByte Max,",
2940                         "GPRINT:avg:LAST:%6.2lf%sByte Last\\l"
2941                 },
2942
2943                 old_swap = {
2944                         "DEF:used_avg={file}:used:AVERAGE",
2945                         "DEF:used_min={file}:used:MIN",
2946                         "DEF:used_max={file}:used:MAX",
2947                         "DEF:free_avg={file}:free:AVERAGE",
2948                         "DEF:free_min={file}:free:MIN",
2949                         "DEF:free_max={file}:free:MAX",
2950                         "DEF:cach_avg={file}:cached:AVERAGE",
2951                         "DEF:cach_min={file}:cached:MIN",
2952                         "DEF:cach_max={file}:cached:MAX",
2953                         "DEF:resv_avg={file}:resv:AVERAGE",
2954                         "DEF:resv_min={file}:resv:MIN",
2955                         "DEF:resv_max={file}:resv:MAX",
2956                         "CDEF:cach_avg_notnull=cach_avg,UN,0,cach_avg,IF",
2957                         "CDEF:resv_avg_notnull=resv_avg,UN,0,resv_avg,IF",
2958                         "CDEF:used_acc=used_avg",
2959                         "CDEF:resv_acc=used_acc,resv_avg_notnull,+",
2960                         "CDEF:cach_acc=resv_acc,cach_avg_notnull,+",
2961                         "CDEF:free_acc=cach_acc,free_avg,+",
2962                         "AREA:free_acc#" .. self.palette.HalfGreen,
2963                         "AREA:cach_acc#" .. self.palette.HalfBlue,
2964                         "AREA:resv_acc#" .. self.palette.HalfYellow,
2965                         "AREA:used_acc#" .. self.palette.HalfRed,
2966                         "LINE1:free_acc#" .. self.palette.FullGreen .. ":Free    ",
2967                         "GPRINT:free_min:MIN:%5.1lf%s Min,",
2968                         "GPRINT:free_avg:AVERAGE:%5.1lf%s Avg,",
2969                         "GPRINT:free_max:MAX:%5.1lf%s Max,",
2970                         "GPRINT:free_avg:LAST:%5.1lf%s Last\n",
2971                         "LINE1:cach_acc#" .. self.palette.FullBlue .. ":Cached  ",
2972                         "GPRINT:cach_min:MIN:%5.1lf%s Min,",
2973                         "GPRINT:cach_avg:AVERAGE:%5.1lf%s Avg,",
2974                         "GPRINT:cach_max:MAX:%5.1lf%s Max,",
2975                         "GPRINT:cach_avg:LAST:%5.1lf%s Last\\l",
2976                         "LINE1:resv_acc#" .. self.palette.FullYellow .. ":Reserved",
2977                         "GPRINT:resv_min:MIN:%5.1lf%s Min,",
2978                         "GPRINT:resv_avg:AVERAGE:%5.1lf%s Avg,",
2979                         "GPRINT:resv_max:MAX:%5.1lf%s Max,",
2980                         "GPRINT:resv_avg:LAST:%5.1lf%s Last\n",
2981                         "LINE1:used_acc#" .. self.palette.FullRed .. ":Used    ",
2982                         "GPRINT:used_min:MIN:%5.1lf%s Min,",
2983                         "GPRINT:used_avg:AVERAGE:%5.1lf%s Avg,",
2984                         "GPRINT:used_max:MAX:%5.1lf%s Max,",
2985                         "GPRINT:used_avg:LAST:%5.1lf%s Last\\l"
2986                 },
2987
2988                 tcp_connections = {
2989                         "-v", "Connections",
2990                         "DEF:avg={file}:value:AVERAGE",
2991                         "DEF:min={file}:value:MIN",
2992                         "DEF:max={file}:value:MAX",
2993                         "AREA:max#" .. self.palette.HalfBlue,
2994                         "AREA:min#" .. self.palette.Canvas,
2995                         "LINE1:avg#" .. self.palette.FullBlue .. ":Connections",
2996                         "GPRINT:min:MIN:%4.1lf Min,",
2997                         "GPRINT:avg:AVERAGE:%4.1lf Avg,",
2998                         "GPRINT:max:MAX:%4.1lf Max,",
2999                         "GPRINT:avg:LAST:%4.1lf Last\\l"
3000                 },
3001
3002                 temperature = {
3003                         "-v", "Celsius",
3004                         "DEF:temp_avg={file}:value:AVERAGE",
3005                         "DEF:temp_min={file}:value:MIN",
3006                         "DEF:temp_max={file}:value:MAX",
3007                         "CDEF:average=temp_avg,0.2,*,PREV,UN,temp_avg,PREV,IF,0.8,*,+",
3008                         "AREA:temp_max#" .. self.palette.HalfRed,
3009                         "AREA:temp_min#" .. self.palette.Canvas,
3010                         "LINE1:temp_avg#" .. self.palette.FullRed .. ":Temperature",
3011                         "GPRINT:temp_min:MIN:%4.1lf Min,",
3012                         "GPRINT:temp_avg:AVERAGE:%4.1lf Avg,",
3013                         "GPRINT:temp_max:MAX:%4.1lf Max,",
3014                         "GPRINT:temp_avg:LAST:%4.1lf Last\\l"
3015                 },
3016
3017                 timeleft = {
3018                         "-v", "Minutes",
3019                         "DEF:avg={file}:timeleft:AVERAGE",
3020                         "DEF:min={file}:timeleft:MIN",
3021                         "DEF:max={file}:timeleft:MAX",
3022                         "AREA:max#" .. self.palette.HalfBlue,
3023                         "AREA:min#" .. self.palette.Canvas,
3024                         "LINE1:avg#" .. self.palette.FullBlue .. ":Time left [min]",
3025                         "GPRINT:min:MIN:%5.1lf%s Min,",
3026                         "GPRINT:avg:AVERAGE:%5.1lf%s Avg,",
3027                         "GPRINT:max:MAX:%5.1lf%s Max,",
3028                         "GPRINT:avg:LAST:%5.1lf%s Last\\l"
3029                 },
3030
3031                 time_offset = {
3032                         "DEF:s_avg={file}:seconds:AVERAGE",
3033                         "DEF:s_min={file}:seconds:MIN",
3034                         "DEF:s_max={file}:seconds:MAX",
3035                         "AREA:s_max#" .. self.palette.HalfBlue,
3036                         "AREA:s_min#" .. self.palette.Canvas,
3037                         "LINE1:s_avg#" .. self.palette.FullBlue .. ":{inst}",
3038                         "GPRINT:s_min:MIN:%7.3lf%s Min,",
3039                         "GPRINT:s_avg:AVERAGE:%7.3lf%s Avg,",
3040                         "GPRINT:s_max:MAX:%7.3lf%s Max,",
3041                         "GPRINT:s_avg:LAST:%7.3lf%s Last\\l"
3042                 },
3043
3044                 if_octets = {
3045                         "-v", "Bits/s", "-l", "0",
3046                         "DEF:out_min_raw={file}:tx:MIN",
3047                         "DEF:out_avg_raw={file}:tx:AVERAGE",
3048                         "DEF:out_max_raw={file}:tx:MAX",
3049                         "DEF:inc_min_raw={file}:rx:MIN",
3050                         "DEF:inc_avg_raw={file}:rx:AVERAGE",
3051                         "DEF:inc_max_raw={file}:rx:MAX",
3052                         "CDEF:out_min=out_min_raw,8,*",
3053                         "CDEF:out_avg=out_avg_raw,8,*",
3054                         "CDEF:out_max=out_max_raw,8,*",
3055                         "CDEF:inc_min=inc_min_raw,8,*",
3056                         "CDEF:inc_avg=inc_avg_raw,8,*",
3057                         "CDEF:inc_max=inc_max_raw,8,*",
3058                         "CDEF:overlap=out_avg,inc_avg,GT,inc_avg,out_avg,IF",
3059                         "CDEF:mytime=out_avg_raw,TIME,TIME,IF",
3060                         "CDEF:sample_len_raw=mytime,PREV(mytime),-",
3061                         "CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF",
3062                         "CDEF:out_avg_sample=out_avg_raw,UN,0,out_avg_raw,IF,sample_len,*",
3063                         "CDEF:out_avg_sum=PREV,UN,0,PREV,IF,out_avg_sample,+",
3064                         "CDEF:inc_avg_sample=inc_avg_raw,UN,0,inc_avg_raw,IF,sample_len,*",
3065                         "CDEF:inc_avg_sum=PREV,UN,0,PREV,IF,inc_avg_sample,+",
3066                         "AREA:out_avg#" .. self.palette.HalfGreen,
3067                         "AREA:inc_avg#" .. self.palette.HalfBlue,
3068                         "AREA:overlap#" .. self.palette.HalfBlueGreen,
3069                         "LINE1:out_avg#" .. self.palette.FullGreen .. ":Outgoing",
3070                         "GPRINT:out_avg:AVERAGE:%5.1lf%s Avg,",
3071                         "GPRINT:out_max:MAX:%5.1lf%s Max,",
3072                         "GPRINT:out_avg:LAST:%5.1lf%s Last",
3073                         "GPRINT:out_avg_sum:LAST:(ca. %5.1lf%sB Total)\\l",
3074                         "LINE1:inc_avg#" .. self.palette.FullBlue .. ":Incoming",
3075                         --"GPRINT:inc_min:MIN:%5.1lf %s Min,",
3076                         "GPRINT:inc_avg:AVERAGE:%5.1lf%s Avg,",
3077                         "GPRINT:inc_max:MAX:%5.1lf%s Max,",
3078                         "GPRINT:inc_avg:LAST:%5.1lf%s Last",
3079                         "GPRINT:inc_avg_sum:LAST:(ca. %5.1lf%sB Total)\\l"
3080                 },
3081
3082                 cpufreq = {
3083                         "DEF:cpufreq_avg={file}:value:AVERAGE",
3084                         "DEF:cpufreq_min={file}:value:MIN",
3085                         "DEF:cpufreq_max={file}:value:MAX",
3086                         "AREA:cpufreq_max#" .. self.palette.HalfBlue,
3087                         "AREA:cpufreq_min#" .. self.palette.Canvas,
3088                         "LINE1:cpufreq_avg#" .. self.palette.FullBlue .. ":Frequency",
3089                         "GPRINT:cpufreq_min:MIN:%5.1lf%s Min,",
3090                         "GPRINT:cpufreq_avg:AVERAGE:%5.1lf%s Avg,",
3091                         "GPRINT:cpufreq_max:MAX:%5.1lf%s Max,",
3092                         "GPRINT:cpufreq_avg:LAST:%5.1lf%s Last\\l"
3093                 },
3094
3095                 multimeter = {
3096                         "DEF:multimeter_avg={file}:value:AVERAGE",
3097                         "DEF:multimeter_min={file}:value:MIN",
3098                         "DEF:multimeter_max={file}:value:MAX",
3099                         "AREA:multimeter_max#" .. self.palette.HalfBlue,
3100                         "AREA:multimeter_min#" .. self.palette.Canvas,
3101                         "LINE1:multimeter_avg#" .. self.palette.FullBlue .. ":Multimeter",
3102                         "GPRINT:multimeter_min:MIN:%4.1lf Min,",
3103                         "GPRINT:multimeter_avg:AVERAGE:%4.1lf Average,",
3104                         "GPRINT:multimeter_max:MAX:%4.1lf Max,",
3105                         "GPRINT:multimeter_avg:LAST:%4.1lf Last\\l"
3106                 },
3107
3108                 users = {
3109                         "-v", "Users",
3110                         "DEF:users_avg={file}:users:AVERAGE",
3111                         "DEF:users_min={file}:users:MIN",
3112                         "DEF:users_max={file}:users:MAX",
3113                         "AREA:users_max#" .. self.palette.HalfBlue,
3114                         "AREA:users_min#" .. self.palette.Canvas,
3115                         "LINE1:users_avg#" .. self.palette.FullBlue .. ":Users",
3116                         "GPRINT:users_min:MIN:%4.1lf Min,",
3117                         "GPRINT:users_avg:AVERAGE:%4.1lf Average,",
3118                         "GPRINT:users_max:MAX:%4.1lf Max,",
3119                         "GPRINT:users_avg:LAST:%4.1lf Last\\l"
3120                 },
3121
3122                 voltage = {
3123                         "-v", "Voltage",
3124                         "DEF:avg={file}:value:AVERAGE",
3125                         "DEF:min={file}:value:MIN",
3126                         "DEF:max={file}:value:MAX",
3127                         "AREA:max#" .. self.palette.HalfBlue,
3128                         "AREA:min#" .. self.palette.Canvas,
3129                         "LINE1:avg#" .. self.palette.FullBlue .. ":Voltage",
3130                         "GPRINT:min:MIN:%5.1lf%sV Min,",
3131                         "GPRINT:avg:AVERAGE:%5.1lf%sV Avg,",
3132                         "GPRINT:max:MAX:%5.1lf%sV Max,",
3133                         "GPRINT:avg:LAST:%5.1lf%sV Last\\l"
3134                 },
3135
3136                 vs_threads = {
3137                         "DEF:avg={file}:value:AVERAGE",
3138                         "DEF:min={file}:value:MIN",
3139                         "DEF:max={file}:value:MAX",
3140                         "AREA:max#" .. self.palette.HalfBlue,
3141                         "AREA:min#" .. self.palette.Canvas,
3142                         "LINE1:avg#" .. self.palette.FullBlue .. ":Threads",
3143                         "GPRINT:min:MIN:%5.1lf Min,",
3144                         "GPRINT:avg:AVERAGE:%5.1lf Avg.,",
3145                         "GPRINT:max:MAX:%5.1lf Max,",
3146                         "GPRINT:avg:LAST:%5.1lf Last\\l",
3147                 },
3148
3149                 vs_memory = {
3150                         "-b", "1024", "-v", "Bytes",
3151                         "DEF:avg={file}:value:AVERAGE",
3152                         "DEF:min={file}:value:MIN",
3153                         "DEF:max={file}:value:MAX",
3154                         "AREA:max#" .. self.palette.HalfBlue,
3155                         "AREA:min#" .. self.palette.Canvas,
3156                         "LINE1:avg#" .. self.palette.FullBlue .. ":",
3157                         "GPRINT:min:MIN:%5.1lf%sbytes Min,",
3158                         "GPRINT:avg:AVERAGE:%5.1lf%sbytes Avg.,",
3159                         "GPRINT:max:MAX:%5.1lf%sbytes Max,",
3160                         "GPRINT:avg:LAST:%5.1lf%sbytes Last\\l",
3161                 },
3162
3163                 vs_processes = {
3164                         "DEF:avg={file}:value:AVERAGE",
3165                         "DEF:min={file}:value:MIN",
3166                         "DEF:max={file}:value:MAX",
3167                         "AREA:max#" .. self.palette.HalfBlue,
3168                         "AREA:min#" .. self.palette.Canvas,
3169                         "LINE1:avg#" .. self.palette.FullBlue .. ":Processes",
3170                         "GPRINT:min:MIN:%5.1lf Min,",
3171                         "GPRINT:avg:AVERAGE:%5.1lf Avg.,",
3172                         "GPRINT:max:MAX:%5.1lf Max,",
3173                         "GPRINT:avg:LAST:%5.1lf Last\\l",
3174                 },
3175         }
3176 end
3177