epam / cloud-pipeline

Cloud agnostic genomics analysis, scientific computation and storage platform
https://cloud-pipeline.com
Apache License 2.0
144 stars 59 forks source link

Detailed cluster consumption #3371

Open NShaforostov opened 11 months ago

NShaforostov commented 11 months ago

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

image

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.: image

Nodes count chart

image

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

image

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.: image

Nodes load table

image

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

image

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:

image

To reset that view mode, user shall tick the Live update checkbox. For stopped clusters: