1 package Collectd::Graph::Type::Load;
5 use base ('Collectd::Graph::Type');
7 use Collectd::Graph::Common (qw($ColorCanvas ident_to_filename get_faded_color));
14 my $obj = Collectd::Graph::Type->new (@_);
15 $obj->{'data_sources'} = [qw(shortterm midterm longterm)];
16 $obj->{'rrd_opts'} = ['-v', 'System load'];
17 $obj->{'rrd_title'} = 'System load';
18 $obj->{'rrd_format'} = '%.2lf';
19 $obj->{'colors'} = [qw(00ff00 0000ff ff0000)];
21 return (bless ($obj, $pkg));
29 my $ident = $obj->{'files'}[$index];
32 cluck ("Invalid index: $index");
35 my $filename = ident_to_filename ($ident);
36 $filename =~ s#:#\\:#g;
38 my $faded_green = get_faded_color ('00ff00');
40 return (['-t', 'System load', '-v', 'System load',
41 "DEF:s_min=${filename}:shortterm:MIN",
42 "DEF:s_avg=${filename}:shortterm:AVERAGE",
43 "DEF:s_max=${filename}:shortterm:MAX",
44 "DEF:m_min=${filename}:midterm:MIN",
45 "DEF:m_avg=${filename}:midterm:AVERAGE",
46 "DEF:m_max=${filename}:midterm:MAX",
47 "DEF:l_min=${filename}:longterm:MIN",
48 "DEF:l_avg=${filename}:longterm:AVERAGE",
49 "DEF:l_max=${filename}:longterm:MAX",
50 "AREA:s_max#${faded_green}",
51 "AREA:s_min#${ColorCanvas}",
52 "LINE1:s_avg#00ff00: 1 min",
53 "GPRINT:s_min:MIN:%.2lf Min,",
54 "GPRINT:s_avg:AVERAGE:%.2lf Avg,",
55 "GPRINT:s_max:MAX:%.2lf Max,",
56 "GPRINT:s_avg:LAST:%.2lf Last\\l",
57 "LINE1:m_avg#0000ff: 5 min",
58 "GPRINT:m_min:MIN:%.2lf Min,",
59 "GPRINT:m_avg:AVERAGE:%.2lf Avg,",
60 "GPRINT:m_max:MAX:%.2lf Max,",
61 "GPRINT:m_avg:LAST:%.2lf Last\\l",
62 "LINE1:l_avg#ff0000:15 min",
63 "GPRINT:l_min:MIN:%.2lf Min,",
64 "GPRINT:l_avg:AVERAGE:%.2lf Avg,",
65 "GPRINT:l_max:MAX:%.2lf Max,",
66 "GPRINT:l_avg:LAST:%.2lf Last\\l"]);
69 # vim: set shiftwidth=2 softtabstop=2 tabstop=8 :