diff options
| author | Manuel CISSÉ | 2010-06-21 13:49:36 +0200 |
|---|---|---|
| committer | Pim van den Berg | 2010-06-22 20:13:57 +0200 |
| commit | 5f6b7410cb711fa6226f976e65aebd42049965f8 (patch) | |
| tree | ac9ec3fd9ade81c0cb93dfba5f5d3fec58ced9db /type/Uptime.class.php | |
| parent | remove php gd dependency (diff) | |
| download | apt-panopticon_cgp-5f6b7410cb711fa6226f976e65aebd42049965f8.zip apt-panopticon_cgp-5f6b7410cb711fa6226f976e65aebd42049965f8.tar.gz apt-panopticon_cgp-5f6b7410cb711fa6226f976e65aebd42049965f8.tar.bz2 apt-panopticon_cgp-5f6b7410cb711fa6226f976e65aebd42049965f8.tar.xz | |
Uptime plugin now display current/max/avg values in days instead of seconds
Diffstat (limited to 'type/Uptime.class.php')
| -rw-r--r-- | type/Uptime.class.php | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/type/Uptime.class.php b/type/Uptime.class.php new file mode 100644 index 0000000..04033a9 --- /dev/null +++ b/type/Uptime.class.php | |||
| @@ -0,0 +1,64 @@ | |||
| 1 | <?php | ||
| 2 | |||
| 3 | require_once 'Default.class.php'; | ||
| 4 | |||
| 5 | class Type_Uptime extends Type_Default { | ||
| 6 | |||
| 7 | function rrd_gen_graph() { | ||
| 8 | $rrdgraph = $this->rrd_options(); | ||
| 9 | |||
| 10 | $sources = $this->rrd_get_sources(); | ||
| 11 | |||
| 12 | $i=0; | ||
| 13 | foreach ($this->tinstances as $tinstance) { | ||
| 14 | foreach ($this->data_sources as $ds) { | ||
| 15 | $rrdgraph[] = sprintf('DEF:avg_%s=%s:%s:AVERAGE', crc32hex($sources[$i]), $this->files[$tinstance], $ds); | ||
| 16 | $rrdgraph[] = sprintf('DEF:max_%s=%s:%s:MAX', crc32hex($sources[$i]), $this->files[$tinstance], $ds); | ||
| 17 | |||
| 18 | $rrdgraph[] = sprintf('CDEF:c_avg_%s=avg_%1$s,86400,/', crc32hex($sources[$i])); | ||
| 19 | $rrdgraph[] = sprintf('CDEF:c_max_%s=max_%1$s,86400,/', crc32hex($sources[$i])); | ||
| 20 | |||
| 21 | $rrdgraph[] = sprintf('VDEF:v_avg_%s=c_avg_%1$s,AVERAGE', crc32hex($sources[$i])); | ||
| 22 | $rrdgraph[] = sprintf('VDEF:v_max_%s=c_max_%1$s,MAXIMUM', crc32hex($sources[$i])); | ||
| 23 | |||
| 24 | $i++; | ||
| 25 | } | ||
| 26 | } | ||
| 27 | |||
| 28 | for ($i=count($sources)-1 ; $i>=0 ; $i--) { | ||
| 29 | if ($i == (count($sources)-1)) | ||
| 30 | $rrdgraph[] = sprintf('CDEF:area_%s=c_avg_%1$s', crc32hex($sources[$i])); | ||
| 31 | else | ||
| 32 | $rrdgraph[] = sprintf('CDEF:area_%s=area_%s,c_avg_%1$s,+', crc32hex($sources[$i]), crc32hex($sources[$i+1])); | ||
| 33 | } | ||
| 34 | |||
| 35 | $c = 0; | ||
| 36 | foreach ($sources as $source) { | ||
| 37 | $color = is_array($this->colors) ? (isset($this->colors[$source])?$this->colors[$source]:$this->colors[$c++]) : $this->colors; | ||
| 38 | $color = $this->get_faded_color($color); | ||
| 39 | $rrdgraph[] = sprintf('AREA:area_%s#%s', crc32hex($source), $color); | ||
| 40 | } | ||
| 41 | |||
| 42 | $c = 0; | ||
| 43 | foreach ($sources as $source) { | ||
| 44 | $dsname = $this->ds_names[$source] != '' ? $this->ds_names[$source] : $source; | ||
| 45 | $color = is_array($this->colors) ? (isset($this->colors[$source])?$this->colors[$source]:$this->colors[$c++]) : $this->colors; | ||
| 46 | |||
| 47 | //current value | ||
| 48 | $rrdgraph[] = sprintf('LINE1:area_%s#%s:\'%s\'', crc32hex($source), $this->validate_color($color), $dsname); | ||
| 49 | $rrdgraph[] = sprintf('GPRINT:c_avg_%s:LAST:\'%s days\\l\'', crc32hex($source), $this->rrd_format); | ||
| 50 | |||
| 51 | //max value | ||
| 52 | $rrdgraph[] = sprintf('LINE1:v_max_%s#FF0000:\'Maximum\':dashes', crc32hex($source)); | ||
| 53 | $rrdgraph[] = sprintf('GPRINT:v_max_%s:\'%s days\\l\'', crc32hex($source), $this->rrd_format); | ||
| 54 | |||
| 55 | //avg value | ||
| 56 | $rrdgraph[] = sprintf('LINE1:v_avg_%s#0000FF:\'Average\':dashes', crc32hex($source)); | ||
| 57 | $rrdgraph[] = sprintf('GPRINT:v_avg_%s:\'%s days\\l\'', crc32hex($source), $this->rrd_format); | ||
| 58 | } | ||
| 59 | |||
| 60 | return $rrdgraph; | ||
| 61 | } | ||
| 62 | } | ||
| 63 | |||
| 64 | ?> | ||
