CGI-Application-Plugin-DBIProfile
view release on metacpan or search on metacpan
lib/CGI/Application/Plugin/DBIProfile.pm view on Meta::CPAN
my @pages;
# for each sort type, add a graph in a hidden div
foreach my $sort (qw(total count shortest longest))
{
my $page = {};
my ($nodes, $data) = _get_nodes($self, (%opts, sort => $sort) );
my @legends = map { $nodes->[$_][7] } (0 .. $#$nodes);
my $count = 1;
$$page{sort} = $sort;
$$page{legend_loop} = [ map { { number => $count++, legend => $_ } } @legends];
$$page{profile_title} = _page_title($self, (%opts, sort => $sort) );
$$page{profile_text} = join("\n\n", map { $data->format($nodes->[$_]) } (0 .. $#$nodes));
$$page{profile_graph} = _dbiprof_graph($self, (%opts, sort => $sort, nodes => $nodes) );
push(@pages, $page);
}
our $TEMPLATE;
my $template = HTML::Template->new(scalarref => \$TEMPLATE,
lib/CGI/Application/Plugin/DBIProfile.pm view on Meta::CPAN
<tmpl_var page_body>
</div>
</body></html>
END2
our $TEMPLATE = <<END;
<style type="text/css">
.legend_header {
background-color: #7187C7;
color: #FFF;
}
.legend_odd_row {
background-color: #FFF;
}
.legend_even_row {
background-color: #EEE;
}
</style>
<table border=0 cellspacing=0 cellpadding=0 width=100%>
<tr>
<td valign="top">
<tmpl_loop profile_pages>
<h2 onclick="swap('#DBIPS_<tmpl_var sort>', '#DBIPR_<tmpl_var sort>');"><tmpl_var profile_title></h2>
<div id="#DBIPS_<tmpl_var sort>" class="report_summary"></div>
<div id="#DBIPR_<tmpl_var sort>" class="report_full" style="display:none">
<span><tmpl_var profile_graph></span>
<table border=0 width=100% cellspacing=0 style="margin: 5px">
<tr>
<td class="legend_header" align="center">#</td>
<td class="legend_header" width="90%">SQL Statement</td>
</tr>
<tmpl_loop legend_loop>
<tr>
<td <tmpl_if __odd__>class="legend_odd_row"<tmpl_else>class="legend_even_row"</tmpl_if>><tmpl_var number></td>
<td <tmpl_if __odd__>class="legend_odd_row"<tmpl_else>class="legend_even_row"</tmpl_if>><tmpl_var legend></td>
</tr>
</tmpl_loop>
</table>
<table border=0 cellspacing=0 cellpadding=0 width=100%>
<tr>
<td valign="top">
<h2 onclick="swap('#DBIPS_t_<tmpl_var sort>', '#DBIPR_t_<tmpl_var sort>');">Full Text Profile Dump</h2>
<div id="#DBIPS_t_<tmpl_var sort>" class="report_summary"></div>
<div id="#DBIPR_t_<tmpl_var sort>" class="report_full" style="display:none">
lib/CGI/Application/Plugin/DBIProfile/Graph/GDGraphInline.pm view on Meta::CPAN
grep { defined $opts{$_} }
keys %opts );
# build the graph image
my $graph_data;
{
our @BARS;
my $graph = GD::Graph::bars->new($WIDTH, $HEIGHT);
$graph->set(transparent => 0,
bgclr => '#FFFFFF',
legend_placement => 'BC',
x_ticks => 0,
cycle_clrs => 1,
bar_spacing => 5,
shadow_depth => 2,
dclrs => [ map { "#$_" } @BARS ],
);
$graph->set(title => $opts{title});
$graph->set(y_label => $opts{ylabel});
my $gd = $graph->plot([ $opts{tags}, $opts{data} ]);
$graph_data = $gd->png if $FORMAT eq 'png';
( run in 0.463 second using v1.01-cache-2.11-cpan-49f99fa48dc )