cloud-pipeline
cloud-pipeline copied to clipboard
Hot nodes pools usage
Background
Currently, if admin wants to know the consumption of any hot node pool - some info can be gotten from the hot nodes pool list. But at this list, only the info at the moment is displayed. Other information will be much more useful for the administrator - how the pool consumption has been changed during the certain period. It would be convenient to have the ability to view and export statistics of pool(s) consumption.
Approach
- Add a new tab to the "Cluster state" section, e.g. Pools usage:
- at this tab, there should be:
- panel with charts showing the consumption of all existing hot node pools. Info should be displayed as line chart - with time on X-axis and pools consumption (in percent) on Y-axis
- panel with a chart showing the consumption of a certain selected hot node pool. Info should be displayed as line chart - with time on X-axis and a certain pool consumption (nodes under load) on Y-axis
- there should be the ability to select for which certain hot node pool, the second chart will be displayed
- there should be the control to select a time period for which the consumption report will be generated: day (default) or month
- there should be the ability to select another day/month (not only current) via the "calendar" control
- there should be the ability to export the shown consumption data to
XLSExample:
- at this tab, there should be:
- Add a new system preference that should define storing period for consumption data (e.g.
pool.usage.monitoring.storing.periodwith default value equals 1 year)
Details
Navigation
There should be the following ways to view pools consumption:
- just open the Pools usage tab at the "Cluster state" section. In this case:
- at the first panel, the chart showing the consumption of all existing hot node pools shall appear
- at the second panel, the chart showing consumption details of the first hot node pool from the alphabetically sorted full pools list shall appear
- open the consumption for the certain hot node pool from the Hot node pools tab at the "Cluster state" section. For that, a new button should be added to each pool's tile, e.g.:
By click this button:
- the Pools usage tab should be opened
- at the first panel, the chart showing the consumption of all existing hot node pools shall appear
- at the second panel, the chart showing consumption details of the selected hot node pool (that pool at which tile the button was clicked) shall appear
- if the Pools usage tab is already opened:
- admin can click any pool line at the first chart panel - at the second panel, the chart with details of the selected pool's consumption shall appear
- admin can select any pool from the dropdown list under the second chart panel - at the second panel, the chart with details of the selected pool's consumption shall appear. Dropdown shall contain all existing pools list sorted alphabetically
Day period
"Day" period should be the default period for the report. By default in this case, the report should be generated for the today. By the "calendar" control, there should be the ability to select another day to view statistics.
First panel shall contain a chart showing consumptions of all existing hot node pools by hours division in the selected day:
- info for each pool should be displayed as line chart (one line for a pool)
- on X-axis, should be time (hours) and on Y-axis, should be the pools consumption in percent. Consumption of each pool in each hour-step should be calculated as maximum from all moment consumption values received during the hour previous the current time-step. Each moment consumption is calculated as
(count of occupied pool nodes in that pool at the moment)/(max possible count of nodes in that pool at the moment)*100. I.e. for the consumption in 15:00 we should receive max from all consumptions between 14:00 and 15:00.
Second panel shall contain:
- a chart showing consumption of the selected hot node pool by hours division in the selected day:
- there should be a line chart showing the count of occupied pool's nodes
- there should be a line chart showing the max available count of pool's nodes (pool size). This count in each hour-step should be calculated as maximum from pool sizes (of the current pool) received during the hour previous the current time-step.
- on X-axis, should be time (hours) and on Y-axis, should be the nodes count
See example of the view on image at the beginning of the issue.
Month period
"Month" period can be selected manually by the period selector above the charts at the Pools usage tab. By default in this case, the report should be generated for the current month. By the "calendar" control, there should be the ability to select another day to view statistics.
First panel shall contain a chart showing consumptions of all existing hot node pools by days division in the selected month:
- info for each pool should be displayed as line chart (one line for a pool)
- on X-axis, should be time (days) and on Y-axis, should be the pools consumption in percent. Consumption of each pool in each day step should be calculated as median value between all hourly consumption values of that day
Second panel shall contain:
- a chart showing consumption of the selected hot node pool by days division in the selected month:
- there should be a line chart showing the median count of occupied pool's nodes in each day of the month
- there should be a line chart showing the median pool size in each day of the month
- on X-axis, should be time (days) and on Y-axis, should be the nodes count
See example of such view:

Export
By click the Export button at the Pools usage tab, the currently shown data should be exported in XLS format.
The downloaded file should include:
- sheet
DATAwith the table containing:- consumptions (in percent) of all existing hot node pools during the selected time period
- consumption (in nodes count) and pool size (in nodes count) of the selected hot node pool during the selected time period
- sheet
CHARTSwith both charts as at the GUI
Table of the sheet DATA shall have the following view:
Timestamp <pool_name_1>_CONSUMPTION[%] <pool_name_2>_CONSUMPTION[%] ... <pool_name_N>_CONSUMPTION[%] <selected_pool>_CONSUMPTION[nodes] <selected_pool>_SIZE[nodes]
<timestamp_0> 0 0 0 0 8
<timestamp_1> 10 12 5 1 8
<timestamp_2> 15 33 10 2 8
<timestamp_3> 25 45 0 3 8
...
Where:
<timestamp_0>,<timestamp_1>,... - timestamps according to the selected time period<pool_name_1>,<pool_name_2>,...<pool_name_N>` - names of the hot node pools<selected_pool>- name of the selected hot node pool- column
<pool_name_N>_CONSUMPTION[%]- consumption (in percent) of a certain hot node pool in a certain timestamp - column
<selected_pool>_CONSUMPTION[nodes]- consumption (in nodes count) of the selected hot node pool in a certain timestamp - column
<selected_pool>_SIZE[nodes]- full size of the selected hot node pool (in nodes count) in a certain timestamp
Example of the DATA sheet:

Example of the CHARTS sheet:
