NAME
Catalyst::View::RRDGraph - RRD Graph View Class
SYNOPSIS
use the helper to create your View myapp_create.pl view RRDGraph RRDGraph
from the controller:
sub routine :Local {
my ($self, $c) = @_;
$c->stash->{'graph'} = [
"--lower-limit", "0",
"--start", "end-1d",
"--vertical-label", "My Label",
"--height", 600,
"--width", 300,
"DEF:Data=/path/to/rrd.rrd:data:AVERAGE",
"AREA:Data#0000FF:Data "
];
$c->forward('MyApp::View::RRDGraph');
}
DESCRIPTION
This view generates RRD graph images from the graph defintion placed in the stash. The controller is responsable of placing an ARRAYREF in $c-stash->{'graph'}> with the same data as to generate a graph with the RRDs module, except for filename, that will be automatically generated by the view.
It doesn't depend on RRDs, but does need it to work (and for the tests to pass). You can install RRDs, for instance, using Alien::RRDtool, or compiling it manually from http://oss.oetiker.ch/rrdtool/
CONFIGURATION
Configurations for the view are:
IMG_DIR
Directory to generate temporary image files. Defaults to /tmp/
IMG_FORMAT
Image format for the generated files. 'PNG' by default.
ON_ERROR_SERVE
On error, if this config value is set, the file to which it points will be served (so you can serve an "error image" file to the user). Alternately, it can be set to a code reference, that will called with $self, $c and $error. You can then generate your own content in this handler. Default (leaving undefined) is to throw an expception.
See http://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html for more info.
METHODS
new
Constructor.
process
Called internally by Catalyst when the view is used.
AUTHOR
Jose Luis Martinez
CPAN ID: JLMARTIN
CAPSiDE
jlmartinez@capside.com
L<http://www.pplusdomain.net>
THANKS
To Ton Voon for sending in patches, tests, and ideas.
Alexander Kabenin
COPYRIGHT
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.
SEE ALSO
RRDs: http://oss.oetiker.ch/rrdtool/prog/RRDs.en.html
RRD graph docs: http://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html, http://oss.oetiker.ch/rrdtool/doc/rrdgraph_data.en.html, http://oss.oetiker.ch/rrdtool/doc/rrdgraph_graph.en.html