federation.js 4.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /**
  2. * Licensed to the Apache Software Foundation (ASF) under one
  3. * or more contributor license agreements. See the NOTICE file
  4. * distributed with this work for additional information
  5. * regarding copyright ownership. The ASF licenses this file
  6. * to you under the Apache License, Version 2.0 (the
  7. * "License"); you may not use this file except in compliance
  8. * with the License. You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. */
  18. $(document).ready(function() {
  19. var table = $('#rms').DataTable();
  20. $('#rms tbody').on('click', 'td.details-control', function () {
  21. var tr = $(this).closest('tr');
  22. var row = table.row(tr);
  23. if (row.child.isShown()) {
  24. row.child.hide();
  25. tr.removeClass('shown');
  26. } else {
  27. var capabilityArr = scTableData.filter(item => (item.subcluster === row.id()));
  28. var capabilityObj = JSON.parse(capabilityArr[0].capability).clusterMetrics;
  29. row.child(
  30. '<table>' +
  31. ' <tr>' +
  32. ' <td>' +
  33. ' <h3>Application Metrics</h3>' +
  34. ' ApplicationSubmitted* : ' + capabilityObj.appsSubmitted + ' </p>' +
  35. ' ApplicationCompleted* : ' + capabilityObj.appsCompleted + ' </p>' +
  36. ' ApplicationPending* : ' + capabilityObj.appsPending + ' </p>' +
  37. ' ApplicationRunning* : ' + capabilityObj.appsRunning + ' </p>' +
  38. ' ApplicationFailed* : ' + capabilityObj.appsFailed + ' </p>' +
  39. ' ApplicationKilled* : ' + capabilityObj.appsKilled + ' </p>' +
  40. ' </td>' +
  41. ' <td>' +
  42. ' <h3>Resource Metrics</h3>' +
  43. ' <h4>Memory</h4>' +
  44. ' TotalMB : ' + capabilityObj.totalMB + ' </p>' +
  45. ' ReservedMB : ' + capabilityObj.reservedMB + ' </p>' +
  46. ' AvailableMB : ' + capabilityObj.availableMB + ' </p>' +
  47. ' AllocatedMB : ' + capabilityObj.allocatedMB + ' </p>' +
  48. ' PendingMB : ' + capabilityObj.pendingMB + ' </p>' +
  49. ' <h4>VirtualCores</h4>' +
  50. ' TotalVirtualCores : ' + capabilityObj.totalVirtualCores + ' </p>' +
  51. ' ReservedVirtualCores : ' + capabilityObj.reservedVirtualCores + ' </p>' +
  52. ' AvailableVirtualCore : ' + capabilityObj.availableVirtualCores + ' </p>' +
  53. ' AllocatedVirtualCores : '+ capabilityObj.allocatedVirtualCores + ' </p>' +
  54. ' PendingVirtualCores : ' + capabilityObj.pendingVirtualCores + ' </p>' +
  55. ' <h4>Containers</h4>' +
  56. ' ContainersAllocated : ' + capabilityObj.containersAllocated + ' </p>' +
  57. ' ContainersReserved : ' + capabilityObj.containersReserved + ' </p>' +
  58. ' ContainersPending : ' + capabilityObj.containersPending + ' </p>' +
  59. ' </td>' +
  60. ' <td>' +
  61. ' <h3>Node Metrics</h3>' +
  62. ' TotalNodes : ' + capabilityObj.totalNodes + ' </p>' +
  63. ' LostNodes : ' + capabilityObj.lostNodes + ' </p>' +
  64. ' UnhealthyNodes : ' + capabilityObj.unhealthyNodes + ' </p>' +
  65. ' DecommissioningNodes : ' + capabilityObj.decommissioningNodes + ' </p>' +
  66. ' DecommissionedNodes : ' + capabilityObj.decommissionedNodes + ' </p>' +
  67. ' RebootedNodes : ' + capabilityObj.rebootedNodes + ' </p>' +
  68. ' ActiveNodes : ' + capabilityObj.activeNodes + ' </p>' +
  69. ' ShutdownNodes : ' + capabilityObj.shutdownNodes + ' </p>' +
  70. ' </td>' +
  71. ' </tr>' +
  72. '</table>').show();
  73. tr.addClass('shown');
  74. }
  75. });
  76. });