1 {% extends
"base.html" %}
6 $(document).ready(function(){
7 // Pre-populated initial data at page load
8 var content_data = {{ content_data }};
12 var hexdigits = function(v) {
13 var i = Math.floor(v *
255);
14 if (Math.floor(i) <
0x10) {
15 return
"0" + Math.floor(i).toString(
16);
17 return Math.floor(i).toString(
16);
21 var hexcolor = function(r, g, b) {
22 return
"#" + hexdigits(r) + hexdigits(g) + hexdigits(b);
27 var render = function(element, counter) {
28 var data = content_data.osd_histogram.osd[counter];
29 var hist_table = $(element);
34 $.each(data.values, function(i, row) {
35 $.each(row, function(j, col) {
40 val = col - last[counter][i][j];
43 max = Math.max(max, val);
48 $.each(data.values, function(i, row) {
49 var tr = $(
"<tr style='height: 10px;'></tr>").appendTo(hist_table);
50 $.each(row, function(j, col) {
51 var td = $(
"<td style='width: 10px; height: 10px;'></td>").appendTo(tr);
56 val = col - last[counter][i][j];
69 td.css(
"background-color", hexcolor(r, g, b));
73 last[counter] = data.values;
76 var post_load = function() {
77 content_data.osd_metadata_list = [];
78 content_data.osd_list = [];
79 _.each(content_data.osd_metadata, function(v, k) {
80 content_data.osd_metadata_list.push({
85 _.each(content_data.osd, function(v, k) {
86 content_data.osd_list.push({
91 render(
"#heatmap_write",
92 "op_w_latency_in_bytes_histogram");
93 render(
"#heatmap_read",
94 "op_r_latency_out_bytes_histogram");
97 rivets.bind($(
"div#content"), content_data);
100 var refresh = function() {
101 $.get(
"/osd_perf_data/" + content_data.osd.osd +
"/", function(data) {
102 _.extend(content_data.osd_histogram, data.osd_histogram);
103 _.extend(content_data.osd, data.osd);
104 _.extend(content_data.osd_metadata, data.osd_metadata);
107 setTimeout(refresh,
3000);
111 // Wait
1s to load irrespective of normal frequency,
112 // to promptly load our first delta
113 setTimeout(refresh,
1000);
118 <section class=
"content-header">
124 <section class=
"content">
130 <table id=
"heatmap_write">
132 </td><td> </td><td>
134 <table id=
"heatmap_read">
141 <div class=
"box-header">
142 <h3 class=
"box-title">Attributes (OSD map)
</h3>
144 <div class=
"box-body">
153 <tr rv-each-item=
"osd_list">
155 <td>{item.value}
</td>
163 <div class=
"box-header">
164 <h3 class=
"box-title">Metadata
</h3>
166 <div class=
"box-body">
175 <tr rv-each-meta_item=
"osd_metadata_list">
176 <td>{meta_item.key}
</td>
177 <td>{meta_item.value}
</td>