I have attached the updated patch with recent changes.
New changes:
Displayed the appropriate message If the System Stat extension does not exist.
Provided option to configure refresh rates for the API calls (Preferences settings > Dashboards > Refresh rates).
Added I/O analysis of block devices under the storage tab.
Fixed PEP-8 errors.
Fixed the linter errors.
Moved all the system stats related .jsx files under a seperate folder "dashboard/static/js/SystemStats".
Added formatter to convert disk sizes (in bytes) to human readable format.
Pending Work:
Process information -
Issue: The pg_sys_process_info() query takes much longer (more than 2 mins) to execute and prevents the updation of other graphs and tables.
Disk information -
Issue: The pg_sys_disk_info() query returns NULL value for some of the drive letters.
StreamingChart -
Issue: Graph shifting glitch. For the first time, graphs start from the opposite side, and after the following API call or a few seconds later, those get adjusted.
I need suggestions for labels for different tables and charts. Also, could you please clarify the use of the counterData variable, which is used for some of the charts (tps_stats, ti_stats, to_stats, and bio_stats)?