From: Quentin Smith Date: Wed, 29 Dec 2010 17:31:57 +0000 (-0500) Subject: Use images to display errors X-Git-Url: http://xvm.mit.edu/gitweb/invirt/scripts/munin.git/commitdiff_plain/8d2fb2bfd62ffab2164066b962262f76399ddd19 Use images to display errors --- diff --git a/web/usage.cgi b/web/usage.cgi index 073b34c..b7e742d 100755 --- a/web/usage.cgi +++ b/web/usage.cgi @@ -3,9 +3,9 @@ use diagnostics; use constant GRAPH_DIR => "/var/lib/munin/xvm-prod-hosts.mit.edu"; use CGI; -use CGI::Carp qw(fatalsToBrowser); use RRDs; use File::Spec::Functions; +use subs 'die'; our %graph_types = (cpu => "xen_cpu"); our %formats = qw(svg image/svg+xml png image/png eps application/postscript pdf application/pdf); @@ -73,3 +73,18 @@ $|=1; print STDERR "XVM usage: ", Dumper(\@args); } RRDs::graph (@args); + +sub die(@) { + use Image::Magick; + + my $im = Image::Magick->new(background => "white", + fill => "red", + pointsize => 14, + ); + $im->Read('label:'.join('', @_)); + $format = 'png' unless exists($format{$format}); + $mime_type = $formats{$format}; + print $q->header(-type=>$mime_type); + $im->Write($format.':-'); + die @_; +}