Kaynağa Gözat

Merge pull request #12376 from GordonSmith/HPCC-21800-ForceDiskUsageRefresh

HPCC-21800 ECL Watch improved GetTargetClusterUsage support 

Reviewed-By: Miguel Vazquez <miguel.vazquez@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 6 yıl önce
ebeveyn
işleme
4866be7c70

+ 3 - 3
esp/src/eclwatch/ActivityWidget.js

@@ -84,7 +84,7 @@ define([
             //  Hitched actions  ---
             _onRefresh: function (event) {
                 this.inherited(arguments);
-                this.refreshUsage();
+                this.refreshUsage(true);
             },
 
             _onPause: function (event, params) {
@@ -602,9 +602,9 @@ define([
                 return null;
             },
 
-            refreshUsage: function () {
+            refreshUsage: function (bypassCachedResult) {
                 this._diskUsage
-                    .refresh()
+                    .refresh(bypassCachedResult)
                     ;
             },
 

+ 4 - 4
esp/src/eclwatch/templates/ActivityPageWidget.html

@@ -2,10 +2,6 @@
     <div id="${id}BorderContainer" class="${baseClass}BorderContainer" style="width: 100%; height: 100%;" data-dojo-type="dijit.layout.BorderContainer">
         <div id="${id}TabContainer" data-dojo-props="region: 'center', tabPosition: 'top'" style="width: 100%; height: 100%" data-dojo-type="dijit.layout.TabContainer">
             <div id="${id}_Grid" style="width: 100%; height: 100%" data-dojo-props='title:"${gridTitle}"' data-dojo-type="dijit.layout.BorderContainer">
-                <div id="${id}DiskSummaryCP" style="height: 100px; padding:0px; overflow:hidden" data-dojo-props="splitter:true, region: 'top', minSize: 100" data-dojo-type="dijit.layout.ContentPane">
-                    <div id="${id}DiskSummary">
-                    </div>
-                </div>
                 <div id="${id}Toolbar" class="topPanel" data-dojo-props="region: 'top'" data-dojo-type="dijit.Toolbar">
                     <div id="${id}Refresh" data-dojo-attach-event="onClick:_onRefresh" data-dojo-props="iconClass:'iconRefresh'" data-dojo-type="dijit.form.Button">${i18n.Refresh}</div>
                     <span data-dojo-type="dijit.ToolbarSeparator"></span>
@@ -14,6 +10,10 @@
                     <span data-dojo-type="dijit.ToolbarSeparator"></span>
                     <div id="${id}NewPage" class="right" data-dojo-attach-event="onClick:_onNewPage" data-dojo-props="iconClass:'iconNewPage', showLabel:false" data-dojo-type="dijit.form.Button">${i18n.OpenInNewPage}</div>
                 </div>
+                <div id="${id}DiskSummaryCP" style="height: 100px; padding:0px; overflow:hidden" data-dojo-props="splitter:true, region: 'top', minSize: 100" data-dojo-type="dijit.layout.ContentPane">
+                    <div id="${id}DiskSummary">
+                    </div>
+                </div>
                 <div id="${id}GridCP" style="border:0px; padding: 0px; border-color:none" data-dojo-props="region: 'center'" data-dojo-type="dijit.layout.ContentPane">
                     <div id="${id}Grid">
                     </div>

+ 1 - 1
esp/src/lws.config.js

@@ -1,5 +1,5 @@
 const CLUSTER_MV = "192.168.99.103";
-const CLUSTER_GJS = "192.168.3.22";
+const CLUSTER_GJS = "localhost";
 const debugServerIP = CLUSTER_MV ;
 
 let rewrite = [

+ 111 - 87
esp/src/package-lock.json

@@ -5,30 +5,29 @@
   "requires": true,
   "dependencies": {
     "@hpcc-js/api": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/@hpcc-js/api/-/api-2.4.0.tgz",
-      "integrity": "sha512-Ome7Dox1y8CzcOsRbm39xWBMs4MOiDFMxCsmO/rFSXJg/3v6DdiXKK4DgeMbnlKKTnvoYcGLjs6ITuTA3AZpAA==",
+      "version": "2.7.2",
+      "resolved": "https://registry.npmjs.org/@hpcc-js/api/-/api-2.7.2.tgz",
+      "integrity": "sha512-8G+yuWOMTMYUjRaU9n31QYPq0cU7zJd+emXs3XbuC8BwBo7hY/6Thb9bO2tDKIwJFfbBrCxGI0A7XlD5lxQitA==",
       "requires": {
-        "@hpcc-js/common": "^2.13.0"
+        "@hpcc-js/common": "^2.16.2"
       }
     },
     "@hpcc-js/chart": {
-      "version": "2.11.0",
-      "resolved": "https://registry.npmjs.org/@hpcc-js/chart/-/chart-2.11.0.tgz",
-      "integrity": "sha512-H/n7Yh02HgU5HAFCoBhUz3qjgC1y+1L8LOeZm9Fa9YiqCSJDA6vUeyZ4a2/dYEbJ0b9GPfW709XowoEGoZJCCQ==",
+      "version": "2.14.2",
+      "resolved": "https://registry.npmjs.org/@hpcc-js/chart/-/chart-2.14.2.tgz",
+      "integrity": "sha512-vW+DEI1z9mBFyQuDEc8xv1F6HR7HqCUxvwXUU9MxAfeSCDcmcnlf2SP7y65RchPDuDO8jrKHP7qDgMpWvYt5wg==",
       "requires": {
-        "@hpcc-js/api": "^2.4.0",
-        "@hpcc-js/common": "^2.13.0",
-        "@hpcc-js/util": "^2.3.0",
-        "@types/d3-transition": "1.1.4"
+        "@hpcc-js/api": "^2.7.2",
+        "@hpcc-js/common": "^2.16.2",
+        "@hpcc-js/util": "^2.6.2"
       }
     },
     "@hpcc-js/common": {
-      "version": "2.13.0",
-      "resolved": "https://registry.npmjs.org/@hpcc-js/common/-/common-2.13.0.tgz",
-      "integrity": "sha512-CL/29CZpmVMNM7L4mIt7f4fW1PGo0fFRwX/9Kl1uUiCD5ESRji7BXCzqOuB952HOU413aQnQBC93wBewjP3f8g==",
+      "version": "2.16.2",
+      "resolved": "https://registry.npmjs.org/@hpcc-js/common/-/common-2.16.2.tgz",
+      "integrity": "sha512-Sa0oVKARLmnzqX8vOjAPGpQCJF1pp+EAza7KNm+hJ0nxW1U26TooEgPzMxDAO656S6qd4jj+z7LGtSOkPRJN6A==",
       "requires": {
-        "@hpcc-js/util": "^2.3.0",
+        "@hpcc-js/util": "^2.6.2",
         "@types/d3-array": "1.2.6",
         "@types/d3-brush": "1.0.10",
         "@types/d3-collection": "1.0.8",
@@ -47,116 +46,132 @@
       }
     },
     "@hpcc-js/comms": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/@hpcc-js/comms/-/comms-2.3.0.tgz",
-      "integrity": "sha512-Sl2wSs9kgfAzOQm0Uw5RnnuskMa4N4SSdr3X336rwT/sqnKXJPd3A8jnS1POFlJbzvFq+VebdCMoapX01s4VmA==",
+      "version": "2.6.2",
+      "resolved": "https://registry.npmjs.org/@hpcc-js/comms/-/comms-2.6.2.tgz",
+      "integrity": "sha512-M5Maj2/8z8yieTYOJHBsHT9yBbIOD7PGB7lF7EKqvN+Ye2fzzXuvva9V/greWKX/XEQn5j++gckUmH0/z7o7/w==",
       "requires": {
-        "@hpcc-js/util": "^2.3.0"
+        "@hpcc-js/util": "^2.6.2",
+        "node-fetch": "2.3.0",
+        "safe-buffer": "5.1.2",
+        "tmp": "0.0.33",
+        "xmldom": "0.1.27"
+      },
+      "dependencies": {
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+        },
+        "tmp": {
+          "version": "0.0.33",
+          "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+          "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+          "requires": {
+            "os-tmpdir": "~1.0.2"
+          }
+        }
       }
     },
     "@hpcc-js/ddl-shim": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/@hpcc-js/ddl-shim/-/ddl-shim-2.2.0.tgz",
-      "integrity": "sha512-F4xD9hyNArj2E2yrK+IELge/e8m693rfH62wf3defdy6Yo0k0udFWzaf15z3eClsyt2BUFs93HvdXBnl/9R6Uw=="
+      "version": "2.7.0",
+      "resolved": "https://registry.npmjs.org/@hpcc-js/ddl-shim/-/ddl-shim-2.7.0.tgz",
+      "integrity": "sha512-RuNQ/X90Tu9shfXrW0QEcyaGIH8FPbM5v42rojPbpGdI8hf1rqRshVH8tBuKuXtlvA4TS2AMsqqSpA7dcerCRA=="
     },
     "@hpcc-js/dgrid": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/@hpcc-js/dgrid/-/dgrid-2.1.0.tgz",
-      "integrity": "sha512-K2RHlyut7qAOX33yUUehr2uxVGN8xGbG9Z8C59c7FrlHy0hVr5wuLInGpM64XOxDJjn0+879lYTzBu+FGQRcsA==",
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/@hpcc-js/dgrid/-/dgrid-2.4.2.tgz",
+      "integrity": "sha512-IQiZTKY9ZYo1wwo49wFzOTzr8Ei1mZ1V6+jthXVhWAEkgNB+PWNZWOWM7O8mpGME4OLMQ9BT7mlJRQKec+danA==",
       "requires": {
-        "@hpcc-js/common": "^2.13.0",
-        "@hpcc-js/ddl-shim": "^2.2.0",
-        "@hpcc-js/dgrid-shim": "^2.1.0",
-        "@hpcc-js/util": "^2.3.0"
+        "@hpcc-js/common": "^2.16.2",
+        "@hpcc-js/ddl-shim": "^2.7.0",
+        "@hpcc-js/dgrid-shim": "^2.6.0",
+        "@hpcc-js/util": "^2.6.2"
       }
     },
     "@hpcc-js/dgrid-shim": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/@hpcc-js/dgrid-shim/-/dgrid-shim-2.1.0.tgz",
-      "integrity": "sha512-sn9qMPTs5Xsk5nfMywjAdEYYvmF9pzH/tKrWPmwVBfhxHUyepCgzUbvjndR3o3jbBiJq5pD1UuMCVoNLzaBYMw=="
+      "version": "2.6.0",
+      "resolved": "https://registry.npmjs.org/@hpcc-js/dgrid-shim/-/dgrid-shim-2.6.0.tgz",
+      "integrity": "sha512-sly54iwwoyhDjGydujR36Zz1zTYrQV0ZDYmWZ961SYhr/hgs2w5r9y6NQ2TdltAww0XSy7bT0RiWbW16AA2UUA=="
     },
     "@hpcc-js/eclwatch": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/@hpcc-js/eclwatch/-/eclwatch-2.2.0.tgz",
-      "integrity": "sha512-K9vhL7WMbmgY0MUGY4pFVyxmHWgwLgue2t9tzE/K17z+h20W01UqTMIDyRy3t/Q/c5533c19trfqkl8P6NEYfA==",
+      "version": "2.5.2",
+      "resolved": "https://registry.npmjs.org/@hpcc-js/eclwatch/-/eclwatch-2.5.2.tgz",
+      "integrity": "sha512-t3Vehldv6mgn4AuPcAaQgC0wAkVSCc/Sv+EUMm1JKSHBOzdAdg2k24qlgqSMXHT1S+OBqOiViL4tBMtZyLru5Q==",
       "requires": {
-        "@hpcc-js/common": "^2.13.0",
-        "@hpcc-js/comms": "^2.3.0",
-        "@hpcc-js/dgrid": "^2.1.0",
-        "@hpcc-js/graph": "^2.6.0",
-        "@hpcc-js/layout": "^2.9.0",
-        "@hpcc-js/timeline": "^2.3.0",
-        "@hpcc-js/util": "^2.3.0"
+        "@hpcc-js/common": "^2.16.2",
+        "@hpcc-js/comms": "^2.6.2",
+        "@hpcc-js/dgrid": "^2.4.2",
+        "@hpcc-js/graph": "^2.9.2",
+        "@hpcc-js/layout": "^2.12.2",
+        "@hpcc-js/timeline": "^2.6.2",
+        "@hpcc-js/util": "^2.6.2"
       }
     },
     "@hpcc-js/graph": {
-      "version": "2.6.0",
-      "resolved": "https://registry.npmjs.org/@hpcc-js/graph/-/graph-2.6.0.tgz",
-      "integrity": "sha512-wqVus8HmuNDJxrb7Xl6TY6ZJQMXDZCTwetukRWsk+5gKG1xkg7VeYWab60874CQKkj1GR3dH+zYUPFfdNH3O2A==",
+      "version": "2.9.2",
+      "resolved": "https://registry.npmjs.org/@hpcc-js/graph/-/graph-2.9.2.tgz",
+      "integrity": "sha512-T9htmBnYCyNSEbUYABNm6cSn5KGoxVd2U7xycvQS8RQUyQzrf+8FHwggQFmseVal3RuZW8GH+DzQ/f3KRwxr8Q==",
       "requires": {
-        "@hpcc-js/api": "^2.4.0",
-        "@hpcc-js/common": "^2.13.0",
-        "@types/d3-transition": "1.1.4"
+        "@hpcc-js/api": "^2.7.2",
+        "@hpcc-js/common": "^2.16.2"
       }
     },
     "@hpcc-js/layout": {
-      "version": "2.9.0",
-      "resolved": "https://registry.npmjs.org/@hpcc-js/layout/-/layout-2.9.0.tgz",
-      "integrity": "sha512-EnTgev5si2TOHqaKJm+yOYEd1Xe5qGfyFx1/NahPlJZTwZwhS/nqApFw6dVp844eDHf/+0vyluW6jbRSUaxLhw==",
+      "version": "2.12.2",
+      "resolved": "https://registry.npmjs.org/@hpcc-js/layout/-/layout-2.12.2.tgz",
+      "integrity": "sha512-eazD5Txd/xHm4a2QQKh6ctjTNVUruNRp0Yg+nWOT15fq90udmPZNmo23Z7aijK9PnzDUb8evN3Ptyx+eXc+5yw==",
       "requires": {
-        "@hpcc-js/api": "^2.4.0",
-        "@hpcc-js/common": "^2.13.0",
-        "@hpcc-js/dgrid": "^2.1.0",
-        "@types/d3-transition": "1.1.4"
+        "@hpcc-js/api": "^2.7.2",
+        "@hpcc-js/common": "^2.16.2",
+        "@hpcc-js/dgrid": "^2.4.2"
       }
     },
     "@hpcc-js/map": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/@hpcc-js/map/-/map-2.4.0.tgz",
-      "integrity": "sha512-zDIS0hS4qcUywnzGhEM3aa++atoCWoVFXP2dTpc6gJ+XWe28jfD3UiF3CNte0tgpA6lueXGDTehrWXGCJsK9vQ==",
-      "requires": {
-        "@hpcc-js/api": "^2.4.0",
-        "@hpcc-js/common": "^2.13.0",
-        "@hpcc-js/graph": "^2.6.0",
-        "@hpcc-js/layout": "^2.9.0",
-        "@hpcc-js/other": "^2.9.0",
+      "version": "2.7.2",
+      "resolved": "https://registry.npmjs.org/@hpcc-js/map/-/map-2.7.2.tgz",
+      "integrity": "sha512-M9xBGtGZDXovB6JBI37p0DCeADF1zgFizz73jdZ7mPv8JejhJHV9vTIVozmIjK3g5JKtTIt27TfBjx8KivVhqg==",
+      "requires": {
+        "@hpcc-js/api": "^2.7.2",
+        "@hpcc-js/common": "^2.16.2",
+        "@hpcc-js/graph": "^2.9.2",
+        "@hpcc-js/layout": "^2.12.2",
+        "@hpcc-js/other": "^2.12.2",
         "@types/leaflet": "1.4.3"
       }
     },
     "@hpcc-js/other": {
-      "version": "2.9.0",
-      "resolved": "https://registry.npmjs.org/@hpcc-js/other/-/other-2.9.0.tgz",
-      "integrity": "sha512-AYw5RdlN0W9v35fcP4apfnTUUL/EmMyw0TjiF/Mv0wVdfuZhEEZXtOsPNj+CQfeDaa4VYfYjYWVn0DJaURgqlw==",
+      "version": "2.12.2",
+      "resolved": "https://registry.npmjs.org/@hpcc-js/other/-/other-2.12.2.tgz",
+      "integrity": "sha512-HmYDrEzDOEchKTsFytRracxUUDXAvoT/Fdfh3BQER8oZgEVS5ijV9rZ4360sUrHgC+DdQRx3adQeM/XIyGXzoA==",
       "requires": {
-        "@hpcc-js/api": "^2.4.0",
-        "@hpcc-js/common": "^2.13.0",
-        "@hpcc-js/layout": "^2.9.0"
+        "@hpcc-js/api": "^2.7.2",
+        "@hpcc-js/common": "^2.16.2",
+        "@hpcc-js/layout": "^2.12.2"
       }
     },
     "@hpcc-js/timeline": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/@hpcc-js/timeline/-/timeline-2.3.0.tgz",
-      "integrity": "sha512-TwOj0QovDHRmLg8xi3dkQ5gdqGxRpvV5zaJ2Bgj2eOXldnDRDvsZ26lOtCKsX5uWTbclalUArCaiu4RL0TrJXA==",
+      "version": "2.6.2",
+      "resolved": "https://registry.npmjs.org/@hpcc-js/timeline/-/timeline-2.6.2.tgz",
+      "integrity": "sha512-j5rYIIxTDakrPbx2wflLiepurFfZf3d40crcnJKW5GqMjKFuqWZu+YzgJsEQB1USDCF2Gp5LeKfykHh9HgwX3Q==",
       "requires": {
-        "@hpcc-js/api": "^2.4.0",
-        "@hpcc-js/chart": "^2.11.0",
-        "@hpcc-js/common": "^2.13.0"
+        "@hpcc-js/api": "^2.7.2",
+        "@hpcc-js/chart": "^2.14.2",
+        "@hpcc-js/common": "^2.16.2"
       }
     },
     "@hpcc-js/tree": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/@hpcc-js/tree/-/tree-2.4.0.tgz",
-      "integrity": "sha512-Eh2ithEaW8UJx/fxSdIf9La7hWCNqk8hd6jYPvndJxw+qk1SWZyGZRKMuvxoJv7rX8anBbJrwjj8nNUgmxNIIA==",
+      "version": "2.7.2",
+      "resolved": "https://registry.npmjs.org/@hpcc-js/tree/-/tree-2.7.2.tgz",
+      "integrity": "sha512-66EUAHtBtyEyfmtcdQsoQO1Uo8WXzqbYSvgGRYBkBCaSgTQ0luqiicEiXt1ZT3t1F5XQwLl5WOmeqkHEF4qDrg==",
       "requires": {
-        "@hpcc-js/api": "^2.4.0",
-        "@hpcc-js/common": "^2.13.0",
-        "@types/d3-transition": "1.1.4"
+        "@hpcc-js/api": "^2.7.2",
+        "@hpcc-js/common": "^2.16.2"
       }
     },
     "@hpcc-js/util": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/@hpcc-js/util/-/util-2.3.0.tgz",
-      "integrity": "sha512-QBUN/hIrWA+JPy7LZa/ro2CBIIr/Av19QAUukbTJSFMdsjerleGAVglYi2eNgMhJPBl5VKu7gKtNFeV8v1R4OA=="
+      "version": "2.6.2",
+      "resolved": "https://registry.npmjs.org/@hpcc-js/util/-/util-2.6.2.tgz",
+      "integrity": "sha512-bvAz9Zj5zpVwGqTK3QrF77Rp7bn5SoWscqXI5kcLQKeU5fsyoQBcjjWnRT6zF/9YR2uDFxulXSum0a5bE8WPFw=="
     },
     "@koa/cors": {
       "version": "2.2.2",
@@ -5253,6 +5268,11 @@
       "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==",
       "dev": true
     },
+    "node-fetch": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz",
+      "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA=="
+    },
     "node-libs-browser": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
@@ -5541,8 +5561,7 @@
     "os-tmpdir": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
-      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
-      "dev": true
+      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
     },
     "p-defer": {
       "version": "1.0.0",
@@ -8605,6 +8624,11 @@
         "async-limiter": "~1.0.0"
       }
     },
+    "xmldom": {
+      "version": "0.1.27",
+      "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz",
+      "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk="
+    },
     "xregexp": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz",

+ 6 - 6
esp/src/package.json

@@ -30,12 +30,12 @@
   },
   "main": "src/stub.js",
   "dependencies": {
-    "@hpcc-js/chart": "2.11.0",
-    "@hpcc-js/comms": "2.3.0",
-    "@hpcc-js/eclwatch": "2.2.0",
-    "@hpcc-js/map": "2.4.0",
-    "@hpcc-js/other": "2.9.0",
-    "@hpcc-js/tree": "2.4.0",
+    "@hpcc-js/chart": "2.14.2",
+    "@hpcc-js/comms": "2.6.2",
+    "@hpcc-js/eclwatch": "2.5.2",
+    "@hpcc-js/map": "2.7.2",
+    "@hpcc-js/other": "2.12.2",
+    "@hpcc-js/tree": "2.7.2",
     "clipboard": "2.0.4",
     "codemirror": "5.31.0",
     "crossfilter2": "1.4.3",

+ 5 - 4
esp/src/src/DiskUsage.ts

@@ -50,7 +50,7 @@ export class Summary extends FlexGrid {
         super.update(domNode, element);
     }
 
-    refresh() {
+    refresh(bypassCachedResult: boolean) {
         let hasGauge = false;
         for (const key in this._usage) {
             hasGauge = true;
@@ -65,7 +65,7 @@ export class Summary extends FlexGrid {
                 .text(nlsHPCC.loadingMessage)
                 ;
         }
-        this._connection.GetTargetClusterUsageEx().then(response => {
+        this._connection.GetTargetClusterUsageEx(undefined, bypassCachedResult).then(response => {
             this._loadingMsg && this._loadingMsg
                 .html(`<i class="fa fa-database"></i>`)
                 ;
@@ -82,10 +82,11 @@ export class Summary extends FlexGrid {
                     };
                 }
                 this._usage[details.Name].gauge
-                    .value(details.max / 100)
+                    .value((details.max || 0) / 100)
                     .valueDescription(nlsHPCC.Max)
-                    .tickValue(details.mean / 100)
+                    .tickValue((details.mean || 0) / 100)
                     .tickValueDescription(nlsHPCC.Mean)
+                    .tooltip(details.ComponentUsagesDescription)
                     ;
             });
             this.render();