Graphs are defined in controller.

Only AVERAGE rra is shown.
Added basic top-menu to create graph contexts.
3.0-u-redesign
Andreas Granig 16 years ago
parent 1fb33d9fef
commit 6452036b08

@ -8,6 +8,9 @@
cc_dial_prefix="00"
ac_dial_prefix="0"
>
<dashboard enabled="1"
rrd_url_path="/rrd"
/>
<subscriber extension_features="1"
audiofile_features="1"
/>

@ -25,8 +25,56 @@ Control the statistics dashboard.
sub index : Private {
my ( $self, $c ) = @_;
if($c->config->{dashboard}{enabled} == 1)
{
$c->response->redirect($c->uri_for('/dashboard/system'));
}
else
{
$c->response->redirect($c->uri_for('/'));
}
return 1;
}
sub system : Local {
my ( $self, $c ) = @_;
$c->stash->{template} = 'tt/dashboard.tt';
my @plotdata = ();
push @plotdata, {name=>"mem", title=>"Memory",
url=>$c->config->{dashboard}{rrd_url_path}."/memory-used.rrd", si=>1};
push @plotdata, {name=>"load", title=>"Load",
url=>$c->config->{dashboard}{rrd_url_path}."/load.rrd", si=>0};
push @plotdata, {name=>"rdisk", title=>"Root Disk",
url=>$c->config->{dashboard}{rrd_url_path}."/df-root.rrd", si=>1};
push @plotdata, {name=>"ldisk", title=>"Local Disk",
url=>$c->config->{dashboard}{rrd_url_path}."/df-disk.rrd", si=>1};
$c->stash->{ctx} = "system";
$c->stash->{plotdata} = \@plotdata;
return 1;
}
sub voip : Local {
my ( $self, $c ) = @_;
$c->stash->{template} = 'tt/dashboard.tt';
my @plotdata = ();
push @plotdata, {name=>"sipo", title=>"SIP Option Latency",
url=>$c->config->{dashboard}{rrd_url_path}."/sip_option.rrd", si=>0};
push @plotdata, {name=>"sipr", title=>"SIP Register Latency",
url=>$c->config->{dashboard}{rrd_url_path}."/sip_register.rrd", si=>0};
push @plotdata, {name=>"mysql", title=>"DB Queries/sec",
url=>$c->config->{dashboard}{rrd_url_path}."/mysql.rrd", si=>0};
push @plotdata, {name=>"ldisk", title=>"DB MGM Status",
url=>$c->config->{dashboard}{rrd_url_path}."/mysql_mgm.rrd", si=>0};
$c->stash->{ctx} = "voip";
$c->stash->{plotdata} = \@plotdata;
return 1;
}

@ -115,6 +115,8 @@ rrdFlot.prototype.populateRes = function() {
var nrRRAs=this.rrd_file.getNrRRAs();
for (var i=0; i<nrRRAs; i++) {
var rra=this.rrd_file.getRRAInfo(i);
if(rra.getCFName() != "AVERAGE")
continue;
var step=rra.getStep();
var rows=rra.getNrRows();
var period=step*rows;

@ -6,11 +6,29 @@
<script type="text/javascript" src="/js/jsrrd/flot/jquery.flot.js"></script>
<script type="text/javascript" src="/js/jsrrd/flot/jquery.flot.selection.js"></script>
<h3 id="title">Dashboard</h1>
<h3 id="title">Dashboard</h3>
<ul id="topsubmenu">
<li>|</li>
<li class="[% ctx != "system" ? "in" : "" %]active_submenu"><a href="system">System</a></li>
<li>|</li>
<li class="[% ctx != "voip" ? "in" : "" %]active_submenu"><a href="voip">Signalling Controller</a></li>
<li>|</li>
</ul><br />
<hr id="topsubmenuhr" />
<table>
<tr><th>Memory</th><th>Load</th></tr>
<tr><td><div id="plot_memory"></div></td><td><div id="plot_load"></div></td></tr>
[% even = 0 %]
[% FOREACH item IN plotdata %]
[% UNLESS even %]<tr>[% END %]
<td><span style="font-weight: bold;">[% item.title %]</span>
<div id="plot_[% item.name %]"></div>
</td>
[% IF even %]</tr>[% END %]
[% even = !even %]
[% END %]
[% IF even %]<td></td></tr>[% END %]
</table>
<script type="text/javascript">
@ -41,7 +59,8 @@
}
}
fname_update("/rrd/memory-used.rrd", "plot_memory", true);
fname_update("/rrd/load.rrd", "plot_load", false);
[% FOREACH item IN plotdata %]
fname_update("[% item.url %]", "plot_[% item.name %]", [% item.si ? "true" : "false" %]);
[% END %]
</script>

Loading…
Cancel
Save