Skip to content

Latest commit

 

History

History
1136 lines (1108 loc) · 28.2 KB

COMPARISON.md

File metadata and controls

1136 lines (1108 loc) · 28.2 KB

Project Comparison

Table of Contents

Introduction

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.

Performance and Benchmarks

Methodology

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.

Results

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.

Considerations

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.

Features

Legend

  • ✅: 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 ⚠️ Menu only ⚠️ Menu only
Bar ⚠️ Menu only
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.

Public Response

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.

Star History

Star History Chart