]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/pybind/mgr/dashboard/rbd_iscsi.html
update sources to v12.2.3
[ceph.git] / ceph / src / pybind / mgr / dashboard / rbd_iscsi.html
index b8e47fdb23488b4316c41c1debc982a857de5ac2..ef648e149cef101ea6c3e6986fdd93db75ff87fa 100644 (file)
             var refresh = function() {
                 $.get("{{ url_prefix }}/rbd_iscsi_data", function(data) {
                     _.extend(content_data, data);
-                    setTimeout(refresh, 30000);
+                    $('.inlinesparkline').sparkline();
+                    setTimeout(refresh, 5000);
                 });
             };
 
             console.log(content_data);
 
+            rivets.formatters.relative_date = function(date_str) {
+                if (!date_str) {
+                    return "unknown";
+                }
+                return moment(date_str * 1000).fromNow();
+            }
+
+            rivets.formatters.sparkline_data = function(time_series) {
+                result = "";
+                for (var i = 1; i < time_series.length; ++i) {
+                    var delta_v = time_series[i][1] - time_series[i - 1][1];
+                    var delta_t = time_series[i][0] - time_series[i - 1][0];
+                    result += (delta_v / delta_t + ",");
+                }
+                return result;
+            };
+
             rivets.bind($("div#content"), content_data);
-            setTimeout(refresh, 30000);
+            $('.inlinesparkline').sparkline();
+            setTimeout(refresh, 5000);
 
             $('#daemons').DataTable({
                 'paging'      : true,
                     <th>Image</th>
                     <th>Active/Optimized</th>
                     <th>Active/Non-Optimized</th>
+                    <th>Read Bytes</th>
+                    <th>Write Bytes</th>
+                    <th>Read Ops</th>
+                    <th>Write Ops</th>
+                    <th>A/O Since</th>
                 </tr>
                 </thead>
                 <tbody>
                         <td>{image.name}</td>
                         <td>{image.optimized_paths}</td>
                         <td>{image.non_optimized_paths}</td>
+                        <td>{image.stats.rd_bytes | dimless_binary}/s <span class="inlinesparkline" rv-html="image.stats_history.rd_bytes | sparkline_data"></span></td>
+                        <td>{image.stats.wr_bytes | dimless_binary}/s <span class="inlinesparkline" rv-html="image.stats_history.wr_bytes | sparkline_data"></span></td>
+                        <td>{image.stats.rd | dimless}/s</td>
+                        <td>{image.stats.wr | dimless}/s</td>
+                        <td>{image.optimized_since | relative_date}</td>
                     </tr>
                 </tbody>
             </table>