1 {% extends
"base.html" %}
6 $(document).ready(function(){
7 // Pre-populated initial data at page load
8 var content_data = {{ content_data }};
10 var refresh = function() {
11 $.get(
"{{ url_prefix }}/rbd_iscsi_data", function(data) {
12 _.extend(content_data, data);
13 $('.inlinesparkline').sparkline();
14 setTimeout(refresh,
5000);
18 console.log(content_data);
20 rivets.formatters.relative_date = function(date_str) {
24 return moment(date_str *
1000).fromNow();
27 rivets.formatters.sparkline_data = function(time_series) {
29 for (var i =
1; i < time_series.length; ++i) {
30 var delta_v = time_series[i][
1] - time_series[i -
1][
1];
31 var delta_t = time_series[i][
0] - time_series[i -
1][
0];
32 result += (delta_v / delta_t +
",");
37 rivets.bind($(
"div#content"), content_data);
38 $('.inlinesparkline').sparkline();
39 setTimeout(refresh,
5000);
41 $('#daemons').DataTable({
44 'lengthChange': false,
50 $('#images').DataTable({
53 'lengthChange': false,
62 <section class=
"content-header">
68 <section class=
"content">
70 <div class=
"box-header">
71 <h3 class=
"box-title">Daemons
</h3>
73 <div class=
"box-body">
74 <table id=
"daemons" class=
"table table-condensed">
78 <th># Active/Optimized
</th>
79 <th># Active/Non-Optimized
</th>
84 <tr rv-each-daemon=
"daemons">
85 <td>{daemon.server_hostname}
</td>
86 <td>{daemon.optimized_paths}
</td>
87 <td>{daemon.non_optimized_paths}
</td>
88 <td>{daemon.version | short_version}
</td>
96 <div class=
"box-header">
97 <h3 class=
"box-title">Images
</h3>
99 <div class=
"box-body">
100 <table id=
"images" class=
"table table-condensed">
105 <th>Active/Optimized
</th>
106 <th>Active/Non-Optimized
</th>
115 <tr rv-each-image=
"images">
116 <td>{image.pool_name}
</td>
117 <td>{image.name}
</td>
118 <td>{image.optimized_paths}
</td>
119 <td>{image.non_optimized_paths}
</td>
120 <td>{image.stats.rd_bytes | dimless_binary}/s
<span class=
"inlinesparkline" rv-html=
"image.stats_history.rd_bytes | sparkline_data"></span></td>
121 <td>{image.stats.wr_bytes | dimless_binary}/s
<span class=
"inlinesparkline" rv-html=
"image.stats_history.wr_bytes | sparkline_data"></span></td>
122 <td>{image.stats.rd | dimless}/s
</td>
123 <td>{image.stats.wr | dimless}/s
</td>
124 <td>{image.optimized_since | relative_date}
</td>