This document provides a comparative analysis of Astra Monitor against similar projects within our domain. Our primary aim with this comparison is twofold. Firstly, it serves as a critical tool for our project's ongoing development, helping us identify areas of improvement and opportunity to refine and enhance our offering. Secondly, it acts as a guide for users, offering greater insights and assisting them in making an informed decision when choosing the ideal tool for their needs. By highlighting the unique features, performance benchmarks, and key differences between Astra Monitor and its alternatives, we hope to foster a transparent and informative environment for both our development team and the user community at large.
We have conducted a series of performance tests to compare Astra Monitor with other popular monitoring tools. The tests were conducted with the with the help of a custom script made by us that (available here), in an isolated fresh system with GNOME 45, measure the CPU and memory usage of the extensions for a period of 60 seconds, repeating the test 10 times. Since not all extensions have the same capabilities, we have tested our extension in single head-to-head tests with each of the other extensions, enabling only the features that are present in both extensions, trying to enable as many features as possible.
For cpu performance, we measured a baseline of the CPU usage of the GNOME Shell process with no extensions enabled, and then we measured the CPU usage of the GNOME Shell process with each extension enabled.
For memory performance, we measured the memory usage of the GNOME Shell process with no extensions enabled, and then we measured the memory usage of the GNOME Shell process with each extension enabled for 5 minute and then disabled looping this 3 times.
The results of the tests are shown in the table below. The values are the average of the 10 tests.
Astra Monitor vs Vitals:
Configuration: Both extensions have Cpu perc usage, Memory perc, used value and free, Disk used value and free, Network IO values, Sensor temps values for cpu and gpu. Update frequency is the same on both extensions.
CPU | Memory | ||||
---|---|---|---|---|---|
Extension | Avg | StdDev | Min | Max | Total |
Astra Monitor v15 [EGOv24] | 868 🏆 | 32.18 | 780 | 962 | 1696 |
Vitals [EGOv66] | 1461 | 37.26 | 1400 | 1550 | 2432 |
* Value missing; I have already collected this data but I'm currently abroad. Details will be updated upon return.
The lower the values, the better the performance.
Astra Monitor vs TopHat:
Configuration: Both extensions have Cpu perc usage and bar, Memory perc usage and bar, Disk bar and IO values, Network IO values. Update frequency is the same on both extensions.
CPU | Memory | ||||
---|---|---|---|---|---|
Extension | Avg | StdDev | Min | Max | Total |
Astra Monitor v15 [EGOv24] | 409 🏆 | 13.00 | 390 | 430 | 2720 |
TopHat [EGOv13] | 702 | 100.97 | 640 | 1000 | 74508 |
The lower the values, the better the performance.
Astra Monitor vs system-monitor-next:
Configuration: Both extensions have Cpu perc usage and graph, Memory perc usage and graph, Disk IO values and graph, Network IO values and graph, Sensor temps value for cpu and gpu fan speed value. Update frequency is the same on both extensions.
CPU | Memory | ||||
---|---|---|---|---|---|
Extension | Avg | StdDev | Min | Max | Total |
Astra Monitor v15 [EGOv24] | 546 🏆 | 35.27 | 490 | 600 | 1336 |
system-monitor-next [EGOv65] | 762 | 16.00 | 730 | 790 | 1312 |
The lower the values, the better the performance.
The aim of these tests is to provide a general idea of the performance of the extensions. The idea came out to compare the performance of Astra Monitor directly with itself during each development iteration to see if the performance was improving or not and that were no regressions. We would like to emphasize that this is not a competition and the intent is not to discredit any other extension. We are aware that the performance of an extension can vary depending on the system and the hardware, and it's not the only factor to consider when choosing an extension. Memory test's main goal is to check if memory grows over time or retain data between enabling and disabling the extension multiple times.
- ✅: Feature is present
⚠️ : Feature is partially present- ❌: Feature is not present
- 🚧: Feature is in development
- ❓: Feature status is unknown
FEATURE COMPARISON TABLE IS ONLY PARTIALLY COMPLETE.
PLEASE BEAR WITH US AS WE CONTINUE TO UPDATE IT.
General | Category | Feature | Astra Monitor v15 [EGOv24] |
Vitals [EGOv66] |
TopHat [EGOv13] |
system-monitor-next [EGOv65] |
---|---|---|---|---|---|---|
Generic | Dependency | ✅ No required dependency (GTop suggested) |
GTop (required) ls_sensors |
GTop (required) |
GTop (required) |
|
Startup Delay | ✅ | ❌ | ❌ | ❌ | ||
Panel Box | Positioning | ✅ | ✅ | ✅ | ❌ | |
Ordering | ✅ | ❌ | ❌ | ❌ | ||
Styling | Only L&R margins |
❌ | ❌ | Background color |
||
Monitor Headers |
Ordering | ✅ | Manually remove/readd all monitors |
❌ | ✅ | |
Styling | Only Height and vertical margin |
Fixed/variable width |
❌ | Compact display |
||
Font | ✅ Family & size |
❌ | ❌ | ❌ | ||
Configuration | Export | ✅ | ❌ | ❌ | ❌ | |
Import | ✅ | ❌ | ❌ | ❌ | ||
Reset | ✅ | ❌ | ❌ | ❌ | ||
CPU | ||||||
Generic | Update Frequency | ✅ | Global |
Only 3 Global options |
✅ | |
Data Source Selection | ✅ | ❌ | ❌ | ❌ | ||
Indicators | Order | ✅ | Manually remove/readd all indicators |
❌ | ❌ | |
Icon | Custom Icon | ✅ | Global 2 options |
❌ | ❌ | |
Custom Color | ✅ | ❌ | ❌ | ❌ | ||
Color Alert | ✅ | ❌ | ❌ | ❌ | ||
Usage | Percentage | ✅ | ✅ | ✅ | ✅ | |
Single Core | ✅ | ✅ | ✅ | ✅ | ||
Alert | ✅ | ❌ | ❌ | ❌ | ||
History Graph | Header | ✅ | ❌ | ❌ | ✅ | |
Breakdown | ✅ | ❌ | ❌ | ✅ |
||
Color Customizaiton | ✅ | ❌ | ✅ | ✅ | ||
Size Customizaiton | ✅ | ❌ | ❌ | ✅ | ||
Realtime Bar | Header | ✅ | ❌ | ✅ | ❌ | |
Single Core | ✅ | ❌ | ✅ | ❌ | ||
Breakdown | ✅ | ❌ | ❌ | ❌ | ||
Color Customizaiton | ✅ | ❌ | ✅ | ❌ | ||
Tooltip | Percentage | ✅ | ❌ | ❌ | ✅ | |
Single Core | ✅ | ❌ | ❌ | ❌ | ||
GPU | ||||||
Support | Nvidia | ✅ | ✅ | ❌ | ❓ | |
AMD | ✅ | ❌ | ❌ | ❌ | ||
Intel | ❌ | ❌ | ❌ | ❌ | ||
Menu | Usage Percentage | ✅ | ✅ | ❌ | ❓ | |
Usage Bar | ✅ | ❌ | ❌ | ❓ | ||
History Graph | ❌ | ❌ | ❌ | ❓ | ||
Memory Percentage | ✅ | ✅ | ❌ | ❓ | ||
Memory Bar | ✅ | ❌ | ❌ | ❓ | ||
Header | Usage Percentage | ❌ | ✅ | ❌ | ❓ | |
Usage Bar | ❌ | ❌ | ❌ | ❓ | ||
History Graph | ❌ | ❌ | ❌ | ❓ | ||
Memory Percentage | ❌ | ✅ | ❌ | ❓ | ||
Memory Bar | ❌ | ❌ | ❌ | ❓ | ||
Memory | ||||||
Generic | Update Frequency | ✅ | Global |
Only 3 Global options |
✅ | |
Data Unit Customization | ✅ 7 choices |
❌ | ❌ | ❌ | ||
Used Formula Customization | ✅ | ❌ | ❌ | ❌ | ||
Data Source Selection | ✅ | ❌ | ❌ | ❌ | ||
Indicators | Order | ✅ | Manually remove/readd all indicators |
❌ | ❌ | |
Icon | Custom Icon | ✅ | Global 2 options |
❌ | ❌ | |
Custom Color | ✅ | ❌ | ❌ | ❌ | ||
Color Alert | ✅ | ❌ | ❌ | ❌ | ||
Usage | Percentage | ✅ | ✅ | ✅ | ✅ | |
Percentage Alert | ✅ | ❌ | ❌ | ❌ | ||
Value | ✅ | ✅ | ❌ | ❌ | ||
Free | ✅ | ✅ | ❌ | ❌ | ||
Free Alert | ✅ | ❌ | ❌ | ❌ | ||
History Graph | Header | ✅ | ❌ | ❌ | ✅ | |
Breakdown | ✅ | ❌ | ❌ | ✅ | ||
Color Customizaiton | ✅ | ❌ | ✅ | ✅ | ||
Size Customizaiton | ✅ | ❌ | ❌ | ✅ | ||
Realtime Bar | Header | ✅ | ❌ | ✅ | ❌ | |
Breakdown | ✅ | ❌ | ❌ | ❌ | ||
Color Customizaiton | ✅ | ❌ | ✅ | ❌ | ||
Tooltip | Percentage | ✅ | ❌ | ❌ | ✅ | |
Value | ✅ | ❌ | ❌ | ❌ | ||
Free | ✅ | ❌ | ❌ | ❌ | ||
Swap | Value | ✅ | ✅ | |||
Bar | ❌ | ❌ | ❌ | |||
Storage | ||||||
Generic | Update Frequency | ✅ | Global |
Only 3 Global options |
✅ | |
Data Unit Customization | ✅ 11 choices |
❌ | ❌ | ❌ | ||
Main Disk Selection | ✅ | ✅ | Only 3 fixed choices |
❌ | ||
Ignored disks | ✅ Selection & regex |
❌ | ❌ | ❌ | ||
Data Source Selection | ✅ | ❌ | ❌ | ❌ | ||
Indicators | Order | ✅ | Manually remove/readd all indicators |
❌ | ❌ | |
Icon | Custom Icon | ✅ | Global 2 options |
❌ | ❌ | |
Custom Color | ✅ | ❌ | ❌ | ❌ | ||
Color Alert | ✅ | ❌ | ❌ | ❌ | ||
Usage | Header Bar | ✅ | ❌ | ✅ | ❌ | |
Percentage | ✅ | ❌ | ✅ | ❌ | ||
Percentage Alert | ✅ | ❌ | ❌ | ❌ | ||
Value | ✅ | ✅ | ❌ | ❌ | ||
Free | ✅ | ✅ | ❌ | ❌ | ||
Free Alert | ✅ | ❌ | ❌ | ❌ | ||
IO | Bar | ✅ | ❌ | ❌ | ❌ | |
Values | ✅ | ✅ | ✅ | ✅ | ||
Threshold | ✅ | ❌ | ❌ | ❌ | ||
History Graph | ✅ | ❌ | ❌ | ✅ | ||
Custom Colors | ✅ | ❌ | ❌ | ✅ | ||
Custom Graph Width | ✅ | ❌ | ❌ | ✅ | ||
Tooltip | Percentage | ✅ | ❌ | ❌ | ❌ | |
Value | ✅ | ❌ | ❌ | ❌ | ||
Free | ✅ | ❌ | ❌ | ❌ | ||
IO | ✅ | ❌ | ❌ | ✅ | ||
Network | ||||||
Generic | Update Frequency | ✅ | Global |
Only 3 Global options |
✅ | |
Data Unit Customization | ✅ 7 choices |
✅ 2 choices |
✅ 2 choices |
✅ 2 choices |
||
Ignored interfaces | ✅ Selection & regex |
❌ | ❌ | ❌ | ||
Data Source Selection | ✅ | ❌ | ❌ | ❌ | ||
Indicators | Order | ✅ | Manually remove/readd all indicators |
❌ | ❌ | |
Icon | Custom Icon | ✅ | Global 2 options |
❌ | ❌ | |
Custom Color | ✅ | ❌ | ❌ | ❌ | ||
Color Alert | ✅ | ❌ | ❌ | ❌ | ||
IO | Bar | ✅ | ❌ | ✅ | ❌ | |
Values | ✅ | ✅ | ✅ | ✅ | ||
Threshold | ✅ | ❌ | ❌ | ❌ | ||
History Graph | ✅ | ❌ | ❌ | ✅ | ||
Custom Colors | ✅ | ❌ | ❌ | ✅ | ||
Custom Graph Width | ✅ | ❌ | ❌ | ✅ | ||
Public IP | IPv4 | ✅ | ✅ | ❌ | ❌ | |
IPv6 | ✅ | ❌ | ❌ | ❌ | ||
Tooltip | IO | ✅ | ❌ | ❌ | ✅ | |
Sensors | ||||||
Generic | Update Frequency | ✅ | Global |
❌ | ✅ | |
Temperature Unit Customization | ✅ | ✅ | ❌ | ✅ | ||
Data Source Selection | ✅ | ❌ | ❌ | ❌ | ||
Indicators | Order | ✅ | Manually remove/readd all indicators |
❌ | Swap temp with fan |
|
Icon | Custom Icon | ✅ | Global 2 options |
❌ | ❌ | |
Custom Color | ✅ | ❌ | ❌ | ❌ | ||
Color Alert | ✅ | ❌ | ❌ | ❌ | ||
Tooltip | Customization | ✅ | ❌ | ❌ | ❌ | |
Battery | ||||||
Generic | Update Frequency | ❌ | Global |
❌ | ✅ | |
Indicators | Order | ❌ | Manually remove/readd all indicators |
❌ | ❌ | |
Icon | Custom Icon | ❌ | Global 2 options |
❌ | ❌ | |
Custom Color | ❌ | ❌ | ❌ | ❌ | ||
Color Alert | ❌ | ❌ | ❌ | ❌ | ||
Header | Bar | ❌ | ❌ | ❌ | ❌ | |
Percentage | ❌ | ✅ | ❌ | ✅ | ||
History Graph | ❌ | ❌ | ❌ | ✅ | ||
Custom Colors | ❌ | ❌ | ❌ | ✅ | ||
Custom Graph Width | ❌ | ❌ | ❌ | ✅ |
Note: The tables above might not be up to date or accurate. For the most accurate and up-to-date information, please refer to the respective extension's documentation. If you find any inaccuracies, please let us know.
Thank you all for the amazing support and feedback. We have been the most downloaded extensions on the GNOME Shell Extensions website among the extensions released in the last year, and we are very grateful for that (as of March 2024). We also received a lot of stars on GitHub compared to similar projects, and we are very happy to see that our work is being appreciated. We hope to continue to improve and provide a better experience for all of you.