summaryrefslogtreecommitdiff
path: root/html
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2009-12-19 13:50:17 +0000
committerAndreas Brachold <vdr07@deltab.de>2009-12-19 13:50:17 +0000
commit088518042587c633b662d054375c9801bed844f4 (patch)
tree1ac3ba2672d83314e40646e2857e7910d1788a85 /html
parentfd94b0111202e094cc4b2b8272eb5d637aed719b (diff)
downloadxxv-088518042587c633b662d054375c9801bed844f4.tar.gz
xxv-088518042587c633b662d054375c9801bed844f4.tar.bz2
* CHANNELS: allow query a compact list ( by cmd=clist&compact=1 )
* STATUS: Refactoring output (network/filesys/memory/vitals) * STREAM: Fix SMB streaming (div by zero) * html/xstyle: footer updated * xstyle: css fix correct z-index on schema for timemarker * jason: use one loading mask for many tasks * jason: timer self updating if new timer created * jason: stream allow external video player * jason: use compact channel list (reduce memory footprint) * update translations
Diffstat (limited to 'html')
-rw-r--r--html/memory.tmpl49
-rw-r--r--html/network.tmpl63
-rw-r--r--html/widgets/footer.tmpl3
3 files changed, 49 insertions, 66 deletions
diff --git a/html/memory.tmpl b/html/memory.tmpl
index 1d1d980..0113cb5 100644
--- a/html/memory.tmpl
+++ b/html/memory.tmpl
@@ -1,39 +1,37 @@
<?%
USE date;
statusfiles = {};
+ fields = data.shift;
FILTER null;
name = 'memory_stat';
swapdata = [];
activedata = [];
cacheddata = [];
- buffersdata = [];
+ inactivedata = [];
timestamps = [];
- FOREACH item = param.stack;
- t = date.format(item.timestamp, '%H:%M:%S');
+ FOREACH row = data;
+ t = date.format(row.6, '%H:%M');
timestamps.push(t);
- swapdata.push(item.memory.SwapTotal);
- activedata.push(item.memory.Active);
- cacheddata.push(item.memory.Cached);
- buffersdata.push(item.memory.Buffers);
+ activedata.push(row.2 / (1024));
+ inactivedata.push(row.3 / (1024));
+ cacheddata.push(row.4 / (1024));
+ swapdata.push(row.5 / (1024));
END;
- # Maximum wert
- max = param.stack.last.memory.MemTotal;
-
# Data ...
d = [
timestamps ,
- swapdata ,
- cacheddata ,
activedata ,
- buffersdata ,
+ inactivedata
+ cacheddata ,
+ swapdata
];
USE my_graph = GD.Graph.lines(500,300);
# Xsteps
- steps = param.stack.size div 5;
+ steps = data.size div 5;
label = gettext('Memory usage since');
label = "${label} ${d.first.first}";
@@ -42,7 +40,7 @@
x_label_skip => steps,
x_long_ticks => 1,
- y_label => gettext('Memory usage in bytes'),
+ y_label => gettext('Memory usage in MB'),
y_long_ticks => 1,
line_width => 2,
@@ -57,27 +55,28 @@
my_graph.set_x_label_font(param.font,10);
my_graph.set_x_axis_font(param.font,6);
my_graph.set_y_axis_font(param.font,6);
- my_graph.set_legend( 'Swap', 'Active', 'Cached', 'Buffers');
+ my_graph.set_legend( fields.2, fields.3, fields.4, fields.5 );
statusfiles.$name = writefile("status_${name}.gif", my_graph.plot(d).gif );
END;
# ------------------- Piegraph für Speicher
+ row = data.last;
FILTER null;
name = 'memory_now';
- MemTotal = data.MemTotal div 1024;
- Active = data.Active div 1024;
- Cached = data.Cached div 1024;
- Inactive = data.Inactive div 1024;
- MemFree = data.MemFree div 1024;
- Buffers = data.Buffers div 1024;
+ MemTotal = row.0 div 1024;
+ MemFree = row.1 div 1024;
+ Active = row.2 div 1024;
+ Cached = row.4 div 1024;
+ Inactive = row.3 div 1024;
+ Swapped = row.5 div 1024;
d2 = [
- ["Active ${Active} MB","Cached ${Cached} MB","Inactive ${Inactive} MB","MemFree ${MemFree} MB","Buffers ${Buffers} MB"],
- [ data.Active, data.Cached, data.Inactive, data.MemFree, data.Buffers]
+ [ "${fields.2} ${Active} MB","${fields.3} ${Inactive} MB","${fields.4} ${Cached} MB","${fields.5} ${Swapped} MB","${fields.1} ${MemFree} MB"],
+ [ row.2, row.3, row.4, row.5, row.1 ]
];
USE my_graph = GD.Graph.pie(400, 300);
- label = gettext('Total Memory');
+ label = fields.0;
label = "${label} ${MemTotal} MB";
my_graph.set(
title => label,
diff --git a/html/network.tmpl b/html/network.tmpl
index 0f4538d..5e39706 100644
--- a/html/network.tmpl
+++ b/html/network.tmpl
@@ -3,10 +3,11 @@
statusfiles = {};
FILTER null;
- name = 'network_stat';
+ fields = data.shift;
+
timestamps = [];
- FOREACH entry = param.stack.first.network;
- iname = entry.first.split(':').first;
+ FOREACH row = data;
+ iname = row.0.split(':').first;
rxbytes.${iname} = [];
txbytes.${iname} = [];
@@ -16,27 +17,26 @@
oldentry.${iname} = [];
END;
- FOREACH item = param.stack;
- t = date.format(item.timestamp, '%H:%M:%S');
- timestamps.push(t);
+ FOREACH row = data;
+ IF ot != row.5;
+ t = date.format(row.5, '%H:%M');
+ timestamps.push(t);
+ ot = row.5;
+ END;
- FOREACH entry = item.network;
- iname = entry.first.split(':').first;
+ iname = row.0.split(':').first;
UNLESS oldentry.${iname}.size;
- oldentry.${iname} = entry;
+ oldentry.${iname} = row;
END;
- bytes = entry.1 - oldentry.${iname}.1;
- rxbytes.${iname}.push(bytes);
+ bytes = row.1 - oldentry.${iname}.1;
+ rxbytes.${iname}.push(bytes / (1024*1024));
- bytes = entry.5 - oldentry.${iname}.5;
- txbytes.${iname}.push(bytes);
+ bytes = row.3 - oldentry.${iname}.3;
+ txbytes.${iname}.push(bytes / (1024*1024));
- rxerror.${iname}.push(entry.3);
- txerror.${iname}.push(entry.7);
- oldentry.${iname} = entry;
- END;
+ oldentry.${iname} = row;
END;
FOREACH iname = rxbytes.keys.sort;
@@ -45,23 +45,21 @@
d = [
timestamps,
rxbytes.${iname},
- rxerror.${iname},
- txbytes.${iname},
- txerror.${iname},
+ txbytes.${iname}
];
USE my_graph = GD.Graph.lines(600,300);
# Xsteps
- steps = param.stack.size / 5 | format('%d');
+ steps = timestamps.size div 5;
label = gettext('Traffic on Interface');
- label = "${label} ${iname}";
+ y_label = gettext('MB')
+ label = "${label} ${iname} (${y_label})";
my_graph.set(
title => label,
x_label_skip => steps,
x_long_ticks => 1,
- y_label => gettext('Transfer in bytes'),
y_long_ticks => 1,
line_width => 2,
@@ -76,30 +74,17 @@
my_graph.set_x_label_font(param.font,10);
my_graph.set_x_axis_font(param.font,6);
my_graph.set_y_axis_font(param.font,6);
- my_graph.set_legend( 'RxBytes', 'RxErrors', 'TxBytes', 'TxErrors');
- statusfiles.$iname = writefile("status_network_${iname}.gif", my_graph.plot(d).gif );
+ my_graph.set_legend( fields.1, fields.3);
+ statusfiles.$iname = writefile("status_network_${iname}.png", my_graph.plot(d).gif );
END;
END;
%?>
-<!-- Vitals Template -->
+<!-- Network Template -->
<?% IF param.headingText %?>
<table width=100%><tr><td class='tableheader'><h3><?% param.headingText %?></h3>
<?% END %?>
<table border="0" width="95%">
- <?% fields = data.shift %?>
- <tr>
- <?% FOREACH field = fields %?>
- <th><?% field %?></th>
- <?% END %?>
- </tr>
- <?% FOREACH zeile = data %?>
- <tr>
- <?% FOREACH field = zeile %?>
- <td><?% field %?></td>
- <?% END %?>
- </tr>
- <?% END %?>
<?% FOREACH file = statusfiles.keys %?>
<tr>
diff --git a/html/widgets/footer.tmpl b/html/widgets/footer.tmpl
index c13600c..55980ce 100644
--- a/html/widgets/footer.tmpl
+++ b/html/widgets/footer.tmpl
@@ -54,8 +54,7 @@ print Dumper($stash->_dump_frame(5));
<div id="TOOLTIP"></div>
<center class='footer'>
-User: <?% user %?><br>
-<a href="http://xxv.berlios.de">XXV System</a> -- Version: <?% version %?> -- created by xpix, hulk and poetter 2004 - 2008
+<a href="http://xxv.berlios.de">XXV System</a> -- Version: <?% version %?>
</center>
<?% END; #global.hidefooter %?>
</body>