Currently, users have the ability to view the cluster usage - as a chart of the launched nodes number per the cluster running time.
Such statistics may be poor-informative as it doesn't show the real cluster consumption at the moment.
We shall extend the info on cluster usage available for the user.
Approach
To Run logs page add a division into 2 tabs - content that currently shown on the Run logs page shall be in first (default) tab, e.g. "Run" and the second tab shall be used for "Cluster usage" info:
this division shall be shown only for clusters' master nodes. For any other runs (no matter cluster or single), the view of the Run logs page shall remain as it is implemented currently
"Show cluster usage" link for clusters' master nodes shall not be shown
"Cluster usage" tab shall contain several diagrams and table of cluster usage, e.g.:
Details
"Cluster usage" tab shall contain:
Cluster usage chart
It shall be line chart with summary cluster's consumptions during the cluster running time (in percents):
one line for CPUs consumption. Shall be calculated as the ratio of the summary of all consumed CPUs among all running nodes to the total CPUs number of all running nodes.
one line for memory consumption. Shall be calculated as the ratio of the summary of all occupied memory among all running nodes to the summary memory of all running nodes.
one line for disk consumption. Shall be calculated as the ratio of the summary of occupied volumes of all running nodes to the summary disks volume of all running nodes.
When hovering the chart - consumption info shall appear in the tooltip - i.e. detailed info about summary occupied CPUs / memory / disk in the selected point, e.g.:
Nodes count chart
It shall be line chart with the summary number of running nodes per cluster running time - fully the same chart as currently exists.
Nodes load chart
It shall be a set of histograms that will show percentage of resources consumption of each running node in the cluster:
one histogram for nodes' CPUs consumption
one histogram for nodes' memory consumption
one histogram for nodes' disk consumption
Chart shall display consumption at the "current" moment and update the data once every few seconds.
Update interval shall be configured via the System Preference.
Date and time, when the consumption is measured, shall be shown above the chart.
When hovering the chart - selected node name and corresponding consumption info shall appear in the tooltip - i.e. detailed info about occupied CPUs / memory / disk of the selected node, e.g.:
Nodes load table
It shall be a table that will show resources consumption of each running node in the cluster at the current moment. Data in the table shall be being updated with the same frequency as the Nodes load chart.
Table shall contain columns:
Node - run ID
Stopped - flag that indicates whether the node is active or not
Type - node instance type
CPU - total count of CPUs of the node
CPU consumption - count of loaded CPUs of the node
CPU consumption, % - percentage of loaded CPUs of the node to the total count. Column shall be highlighted in the same color as the corresponding histogram in the Nodes load chart
Memory - total memory size of the node
Memory consumption - size of the occupied memory of the node
Memory consumption, % - percentage of the occupied memory of the node to the total memory size. Column shall be highlighted in the same color as the corresponding histogram in the Nodes load chart
File system - total disk size of the node
File system consumption - occupied size of the disk of the node
File system consumption, % - percentage of occupied size of the disk of the node to the total disk size. Column shall be highlighted in the same color as the corresponding histogram in the Nodes load chart
By default, table shall be sorted by the column CPU consumption, %.
Table shall support sorting by any column. Once the table is sorted by any column - histograms in the Nodes load chart shall be redrawn according to performed sorting.
User shall have the ability to click any row in the table - the Monitor page shall be opened for the selected cluster node.
Other options
Additionally, "Cluster usage" tab shall contain:
Range config control
Set of settings that allows to configure the range of the time for which data on charts Cluster usage and Nodes count is shown (similar to the currently existing set of controls on the node's Monitor page):
Live update - allows to auto-update the data on charts in real-time mode
Set range - dropdown list that allows to configure the displayed range - Custom / Whole range / Last week / Last day / Last hour
Calendar controls - allow to set start and finish dates for custom range to display
Historical utilization
The user shall have the ability to view which cluster's resources consumption was at the specific moment - by click any point on the Cluster Usage chart.
Once the time point is clicked:
on the Cluster Usage chart, the vertical line shall appear at the selected point
Nodes load chart and Nodes load table shall be redrawn according to the data from selected time point:
if some node is stopped upto the current moment but it was active at selected time point - consumptions of such node shall be highlighted in separate color on histograms
if some node is stopped upto the current moment but it was active at selected time point - row of such node in the Nodes load table shall be highlighted in separate color
zone of the Nodes load chart and Nodes load table shall be highlighted or led round - to associate that data with selected time point on the Cluster Usage chart
Live update checkbox shall be unticked
To reset that view mode, user shall tick the Live update checkbox.
For stopped clusters:
historical utilization option shall be unavailable
Nodes load chart and Nodes load table shall display only the latest usage data received before the master node is stopped
Background
Currently, users have the ability to view the cluster usage - as a chart of the launched nodes number per the cluster running time. Such statistics may be poor-informative as it doesn't show the real cluster consumption at the moment. We shall extend the info on cluster usage available for the user.
Approach
Details
"Cluster usage" tab shall contain:
Cluster usage chart
It shall be line chart with summary cluster's consumptions during the cluster running time (in percents):
When hovering the chart - consumption info shall appear in the tooltip - i.e. detailed info about summary occupied CPUs / memory / disk in the selected point, e.g.:
Nodes count chart
It shall be line chart with the summary number of running nodes per cluster running time - fully the same chart as currently exists.
Nodes load chart
It shall be a set of histograms that will show percentage of resources consumption of each running node in the cluster:
Chart shall display consumption at the "current" moment and update the data once every few seconds. Update interval shall be configured via the System Preference. Date and time, when the consumption is measured, shall be shown above the chart.
When hovering the chart - selected node name and corresponding consumption info shall appear in the tooltip - i.e. detailed info about occupied CPUs / memory / disk of the selected node, e.g.:
Nodes load table
It shall be a table that will show resources consumption of each running node in the cluster at the current moment. Data in the table shall be being updated with the same frequency as the Nodes load chart.
Table shall contain columns:
By default, table shall be sorted by the column CPU consumption, %. Table shall support sorting by any column. Once the table is sorted by any column - histograms in the Nodes load chart shall be redrawn according to performed sorting.
User shall have the ability to click any row in the table - the Monitor page shall be opened for the selected cluster node.
Other options
Additionally, "Cluster usage" tab shall contain:
Range config control
Set of settings that allows to configure the range of the time for which data on charts Cluster usage and Nodes count is shown (similar to the currently existing set of controls on the node's Monitor page):
Historical utilization
The user shall have the ability to view which cluster's resources consumption was at the specific moment - by click any point on the Cluster Usage chart. Once the time point is clicked:
To reset that view mode, user shall tick the Live update checkbox. For stopped clusters: