Xfce Wiki

Sub domains
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
projects:panel-plugins:xfce4-hardware-monitor-plugin [2018/01/14 18:23] – [Storage Tab] omegaphilprojects:panel-plugins:xfce4-hardware-monitor-plugin [2019/10/30 20:23] (current) omegaphil
Line 1: Line 1:
 +<note warning>As of 2019, this plugin is no longer maintained - I (OmegaPhil) have unfortunately moved on to other things.</note>
 +
 ====== Features And Basic Details ====== ====== Features And Basic Details ======
  
 This plugin is a port of the venerable GNOME 2 Hardware Monitor to XFCE4 (originally written by Ole Laursen), so that I could get at a network bandwidth graph. It can display various system stats (CPU, filesystem and network usage among others) in graphs, visualisations or with text. This plugin is a port of the venerable GNOME 2 Hardware Monitor to XFCE4 (originally written by Ole Laursen), so that I could get at a network bandwidth graph. It can display various system stats (CPU, filesystem and network usage among others) in graphs, visualisations or with text.
  
-[[https://www.fnxweb.com/hardware-monitor-applet|Original GNOME 2's applet page]]: So far no major changes have been made (most of it has been reproduced here).+[[https://www.fnxweb.com/hardware-monitor-applet|Original GNOME 2's applet page]]: This port has had a fair number of additions ontop of the GNOME 2 original code.
  
-[[https://git.xfce.org/panel-plugins/xfce4-hardware-monitor-plugin/tree/README|README]]: Requirements for running, important issues to be aware about.+[[https://git.xfce.org/archive/xfce4-hardware-monitor-plugin/tree/README|README]]: Requirements for running, important issues to be aware about.
  
-[[https://git.xfce.org/panel-plugins/xfce4-hardware-monitor-plugin/tree/ChangeLog|ChangeLog]]: Detailed changes and important notices between the versions.+[[https://git.xfce.org/archive/xfce4-hardware-monitor-plugin/tree/ChangeLog|ChangeLog]]: Detailed changes and important notices between the versions.
  
-[[https://git.xfce.org/panel-plugins/xfce4-hardware-monitor-plugin/tree/?h=omegaphil/pkg|Debian archives]]: See also [[http://git.xfce.org/panel-plugins/xfce4-hardware-monitor-plugin/tree/README.md?h=omegaphil/pkg|the special readme]].+[[https://git.xfce.org/archive/xfce4-hardware-monitor-plugin/tree/?h=omegaphil/pkg|Debian archives]]: See also [[https://git.xfce.org/archive/xfce4-hardware-monitor-plugin/tree/README.md?h=omegaphil/pkg|the special readme]].
  
 **Officially packaged in distros** (note my own Debian packages above, email me (OmegaPhil@startmail.com) if you know of more): Arch, Fedora **Officially packaged in distros** (note my own Debian packages above, email me (OmegaPhil@startmail.com) if you know of more): Arch, Fedora
Line 15: Line 17:
 **3rd party packages:** **3rd party packages:**
 CentOS7 (courtesy of Sal Tepedino): CentOS7 (courtesy of Sal Tepedino):
-[[https://tepedino.org/xfce4-hardware-monitor-plugin/xfce4-hardware-monitor-plugin-1.5.0-1.el7.centos.x86_64.rpm|v1.5.0 x86-64]], [[https://tepedino.org/xfce4-hardware-monitor-plugin/xfce4-hardware-monitor-plugin-debuginfo-1.5.0-1.el7.centos.x86_64.rpm|debug]], spec file is included with the source in the 'centos' directory.+[[http://tepedino.org/xfce4-hardware-monitor-plugin/xfce4-hardware-monitor-plugin-1.6.0-1.el7.centos.x86_64.rpm|v1.6.0 x86-64]], [[http://tepedino.org/xfce4-hardware-monitor-plugin/xfce4-hardware-monitor-plugin-debuginfo-1.6.0-1.el7.centos.x86_64.rpm|debug]], spec file is included with the source in the 'centos' directory.
  
 For those interested, here are build instructions from Sal: For those interested, here are build instructions from Sal:
Line 24: Line 26:
 (and of course make/make install)' (and of course make/make install)'
  
-**[[https://git.xfce.org/panel-plugins/xfce4-hardware-monitor-plugin/|Source]]:** Browsable git repo also with archives of tagged source for downloading specific releases (although presumably you'll get this through your package manager along with XFCE4 at some point).+**[[https://git.xfce.org/archive/xfce4-hardware-monitor-plugin/|Source]]:** Browsable git repo also with archives of tagged source for downloading specific releases (although presumably you'll get this through your package manager along with XFCE4 at some point).
  
 <note important>__**Testers Needed!**__ <note important>__**Testers Needed!**__
Line 86: Line 88:
 {{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-choose-a-device-dialog-system-tab.png?nolink | }} {{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-choose-a-device-dialog-system-tab.png?nolink | }}
  
-__**CPU Usage**__+=== CPU Usage ===
  
 Here you see the System tab, showing the default 'All CPUs' CPU usage monitor to add. You can also pick an individual CPU here, then add more and more 'devices' to track other CPUs if desired. Here you see the System tab, showing the default 'All CPUs' CPU usage monitor to add. You can also pick an individual CPU here, then add more and more 'devices' to track other CPUs if desired.
Line 100: Line 102:
 'Tags' are short descriptive words intended to be displayed along with the relevant device data in the optional text overlay for all visualisations bar the Text visualisation (this allows you to quickly identify individual monitor values amongst a string of potentially many numbers). If 'Add to text overlay' is unticked, the monitor will not be included in the text overlay. 'Tags' are short descriptive words intended to be displayed along with the relevant device data in the optional text overlay for all visualisations bar the Text visualisation (this allows you to quickly identify individual monitor values amongst a string of potentially many numbers). If 'Add to text overlay' is unticked, the monitor will not be included in the text overlay.
  
-__**Load Average**__+=== Load Average ===
  
 Load average is the current [[https://en.wikipedia.org/wiki/Load_%28computing%29|system load]]. Load average is the current [[https://en.wikipedia.org/wiki/Load_%28computing%29|system load]].
Line 109: Line 111:
 ==== Storage Tab ==== ==== Storage Tab ====
  
-{{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-choose-a-device-dialog-storage-tab.png?nolink | }}+{{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-choose-a-device-dialog-storage-tab-with-disk-usage-selected.png?nolink | }}
  
-__**Disk Usage**__+=== Disk Usage ===
  
 With the Disk usage monitor, paste/type the path of a directory on the filesystem you want to see the used space for, using the 'Show free space' checkbox to report on free space instead. With the Disk usage monitor, paste/type the path of a directory on the filesystem you want to see the used space for, using the 'Show free space' checkbox to report on free space instead.
Line 117: Line 119:
 For a general discussion of the Advanced section, please see the CPU Usage monitor above. For this monitor, 'fixed max' only refers to time-based visualisations (Curves, Columns etc), for others the size of the relevant volume is always used. For a general discussion of the Advanced section, please see the CPU Usage monitor above. For this monitor, 'fixed max' only refers to time-based visualisations (Curves, Columns etc), for others the size of the relevant volume is always used.
  
-__**Disk Statistics**__+=== Disk Statistics === 
 + 
 +{{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-choose-a-device-dialog-storage-tab-with-disk-stats-selected.png?nolink | }}
  
 Disk statistics reports on all disk/device stats available from '/proc/diskstats' - note that the raw numbers aren't reported (that would just result in very large ever-increasing numbers over time), but the rate of increase per monitor duration (by default every second), with the exception of 'Number of I/Os in progress'. Disk statistics reports on all disk/device stats available from '/proc/diskstats' - note that the raw numbers aren't reported (that would just result in very large ever-increasing numbers over time), but the rate of increase per monitor duration (by default every second), with the exception of 'Number of I/Os in progress'.
Line 125: Line 129:
 For a general discussion of the Advanced section, please see the CPU Usage monitor above. For this monitor, without a fixed max, in time-based visualisations (Curves, Columns etc) the displayed data max is used as the max, in other visualisations (e.g. Bars) the max value the monitor has observed since it has started is stored and slowly decays over time (10% reduction over 105 measurements according to an old comment).  For a general discussion of the Advanced section, please see the CPU Usage monitor above. For this monitor, without a fixed max, in time-based visualisations (Curves, Columns etc) the displayed data max is used as the max, in other visualisations (e.g. Bars) the max value the monitor has observed since it has started is stored and slowly decays over time (10% reduction over 105 measurements according to an old comment). 
  
-__**Swap Usage**__+=== Swap Usage ===
  
 Swap usage reports on the amount of [[https://en.wikipedia.org/wiki/Paging#LINUX|swap space used]]. Swap usage reports on the amount of [[https://en.wikipedia.org/wiki/Paging#LINUX|swap space used]].
Line 131: Line 135:
 For a general discussion of the Advanced section, please see the CPU Usage monitor above. For this monitor, 'fixed max' only refers to time-based visualisations (Curves, Columns etc), for others the size of total available swap is always used. For a general discussion of the Advanced section, please see the CPU Usage monitor above. For this monitor, 'fixed max' only refers to time-based visualisations (Curves, Columns etc), for others the size of total available swap is always used.
  
-__**Memory Usage**__+=== Memory Usage ===
  
 Memory usage reports on the amount of RAM used (minus buffers). Memory usage reports on the amount of RAM used (minus buffers).
Line 151: Line 155:
 {{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-choose-a-device-dialog-network-tab-with-advanced-visible.png?nolink | }} {{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-choose-a-device-dialog-network-tab-with-advanced-visible.png?nolink | }}
  
-This is a major new feature for v1.4.7 - actual interface names are no longer hardcoded based on their 'type' (e.g. 'Ethernet (first)' was always 'eth0') - you can now enter whatever you want in for each interface name, again with the intention that the interface will be available later if it isn't currently (you will get a warning if the interface isn't detected to make sure you want to go ahead anyway). Along with dealing with examples of many instances of a particular type of interface, this also allows supporting distros that have started to break away from UNIX traditional interface naming.+For a general discussion, please see the CPU Usage monitor above. For this monitor, without a fixed max, in time-based visualisations (Curves, Columns etc) the displayed data max is used as the max, in other visualisations (e.g. Bars) the max value the monitor has observed since it has started is stored and slowly decays over time (10% reduction over 105 measurements according to an old comment). 
 + 
 +The Interface Type/Name configuration is a major new feature for v1.4.7 - actual interface names are no longer hardcoded based on their 'type' (e.g. 'Ethernet (first)' was always 'eth0') - you can now enter whatever you want in for each interface name, again with the intention that the interface will be available later if it isn't currently (you will get a warning if the interface isn't detected to make sure you want to go ahead anyway). Along with dealing with examples of many instances of a particular type of interface, this also allows supporting distros that have started to break away from UNIX traditional interface naming.
  
 As an extreme example, with this functionality you could configure 8 wireless interfaces if you wanted, albeit with the wrong interface type names displayed (to get at more, use more than one instance of the Hardware Monitor plugin - configuration is separate). As an extreme example, with this functionality you could configure 8 wireless interfaces if you wanted, albeit with the wrong interface type names displayed (to get at more, use more than one instance of the Hardware Monitor plugin - configuration is separate).
  
 To edit an interface name, single-click the name and enter - note that this change applies immediately to all network monitors associated with the current plugin instance. Use the 'Restore Defaults' button to return to the original configuration. To edit an interface name, single-click the name and enter - note that this change applies immediately to all network monitors associated with the current plugin instance. Use the 'Restore Defaults' button to return to the original configuration.
- 
 ==== Temperature Tab ==== ==== Temperature Tab ====
  
Line 168: Line 173:
 {{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-choose-a-device-dialog-generic-tab.png?nolink | }} {{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-choose-a-device-dialog-generic-tab.png?nolink | }}
  
-The Generic Monitor is an advanced monitor to allow power users to effectively visualise/plot any data source they want, if they can turn it into a number and put it in a plain text file (in true UNIX fashion). The intention is for the user to regularly output data (via a script) to a file (optionally on a RAM filesystem to avoid pointless I/O on a real device, e.g. under '/run/shm' on Debian), and this monitor read the single value and plot.+The Generic Monitor is an advanced monitor to allow power users to effectively visualise/plot any data source they want, if they can turn it into a number and put it in a plain text file (in true UNIX fashion). The intention is for the user to regularly output data (via a script) to a file (optionally on a RAM filesystem to avoid pointless I/O on a real device, e.g. under '/run/shm' on Devuan), and this monitor read the single value and plot.
  
 Keep in mind that: Keep in mind that:
Line 174: Line 179:
   * The visualisation/graph area available is rather small   * The visualisation/graph area available is rather small
   * Positive axes available only   * Positive axes available only
-  * The y axis is a complete scale - so plotting very large numbers that change little will be a bit pointless as the line will be stuck at the top of the graphing area and will apparently not change+  * The y axis is a complete scale (aside from the 'fixed max at' setting near the bottom) - so plotting very large numbers that change little will be a bit pointless as the line will be stuck at the top of the graphing area and will apparently not change
  
 If enough people are interested, I can extend how the values are processed (e.g. values passed through a basic calculation like '* 10', '/ 1000' etc) to make it a bit more flexible, please make a [[https://bugzilla.xfce.org/buglist.cgi?component=General&list_id=19900&product=Xfce4-hardware-monitor-plugin|feature request]]. If enough people are interested, I can extend how the values are processed (e.g. values passed through a basic calculation like '* 10', '/ 1000' etc) to make it a bit more flexible, please make a [[https://bugzilla.xfce.org/buglist.cgi?component=General&list_id=19900&product=Xfce4-hardware-monitor-plugin|feature request]].
Line 180: Line 185:
 For basic usage, you would specify a file which contains a single line with just a number (including the the usual newline at the end) - this is 'Number from entire contents'. For basic usage, you would specify a file which contains a single line with just a number (including the the usual newline at the end) - this is 'Number from entire contents'.
  
-When the source file isn't tailored for the monitor, superfluous text will be present, so you'll need to use a regex to extract the number with a capture group ([[http://www.regular-expressions.info/|tutorial site]]) - the Perl Compatible Regular Expressions engine is used, for detailed information [[https://developer.gnome.org/glibmm/2.48/classGlib_1_1Regex.html|see 'Detailed Description' in the glibmm documentation]] (which is at version 2.48.1 at the time of writing, you may need to edit the URL for later versions).+When the source file isn't tailored for the monitor, superfluous text will be present, so you'll need to use a regex to extract the number with a capture group ([[https://www.regular-expressions.info/|tutorial site]]) - the Perl Compatible Regular Expressions engine is used, for detailed information [[https://developer.gnome.org/glibmm/2.48/classGlib_1_1Regex.html|see 'Detailed Description' in the glibmm documentation]] (which is at version 2.48.1 at the time of writing, you may need to edit the URL for later versions).
  
 Select the 'Number from regex' radio button, and put the regex in 'Regex to use'. Select the 'Number from regex' radio button, and put the regex in 'Regex to use'.
Line 206: Line 211:
 'Data source name (long)' is used for the name of the Monitor, and the short version is used for the tooltip etc. 'Data source name (long)' is used for the name of the Monitor, and the short version is used for the tooltip etc.
  
-Units are optional and are appended to the reported value in the usual places, and the Tag works as described for earlier monitors.+Units are optional and are appended to the reported value in the usual places.
  
 +For a general discussion of the remaining advanced settings, please see the CPU Usage monitor above. For this monitor, without a fixed max, in time-based visualisations (Curves, Columns etc) the displayed data max is used as the max, in other visualisations (e.g. Bars) the max value the monitor has observed since it has started is stored and slowly decays over time (10% reduction over 105 measurements according to an old comment).
 ===== Changing A Monitor ===== ===== Changing A Monitor =====
  
Line 220: Line 226:
 ==== Curve View ==== ==== Curve View ====
  
-The following shows an example of the most featureful visualisation (as of v1.4.7), the Curve view (selected under Viewer):+The following shows an example of the Curve view (selected under Viewer):
  
 {{:projects:panel-plugins:xfce4-hardware-monitor-plugin-preferences-dialog-viewer-tab-curve-view-full-text.png?nolink |}} {{:projects:panel-plugins:xfce4-hardware-monitor-plugin-preferences-dialog-viewer-tab-curve-view-full-text.png?nolink |}}
Line 227: Line 233:
 The example displays two curves, incoming and outgoing data on my main ethernet interface, along with a text overlay reporting the graph maximum and the actual values from the monitors.  The example displays two curves, incoming and outgoing data on my main ethernet interface, along with a text overlay reporting the graph maximum and the actual values from the monitors. 
  
-The curve visualisation/graph scales in realtime to keep the maximum value visible/unclipped from the monitor history, which corresponds to the length of the visualisation.+The curve visualisation/graph scales depending on how the included monitors are configured (see discussion on the monitors' advanced settings) - the simplest case is either: 
 + 
 +**One monitor with fixed max:** 
 +Scale is fixed with the top of the view representing the monitor's maximum value, either hardcoded as appropriate for the monitor type, or a custom value configured by the user. 
 + 
 +**One monitor with non-fixed max:** 
 +Scale changes in realtime to keep the maximum value visible/unclipped from the monitor history, which corresponds to the length of the visualisation
 + 
 +By default 'Monitors of the same type share the same scale' in the Advanced section is enabled (see at the bottom), for example above the two lines represent two Network monitors and therefore they are both working to the same scale - if two Disk Usage monitors were added, these two monitors would share their own scale, **but would be independent of the scale of the original Network monitors.** That is, the Network monitor maxes/scale would not affect the Disk Usage monitor maxes/scale, and vice versa - so you effectively have two separate Curve groups on the same visualisation. With this, you can include as many monitor types on the same visualisation as you like, with sensible scales in use. 
 + 
 +If you would rather all monitors share the same scale (even if the units are incompatible), untick this option. 
 + 
 +**Note user-customisable monitor update rates** in the Advanced sections of individual monitor configuration - by default different monitor types update once a second, 10 seconds, 20, 1 minute etc - but can be configured to update at any rate (fastest is 1 second), which **can be used to keep monitors of different types in sync**, or include 'slow' and 'fast' monitors on the same visualisation etc.
  
 The size control allows you to shorten or lengthen the width of the visualisation. The size control allows you to shorten or lengthen the width of the visualisation.
Line 238: Line 256:
 %a: Graph max (compact - no spaces, shorter units)'' %a: Graph max (compact - no spaces, shorter units)''
  
-The idea is to include monitors associated with the same type of source together. As the output can get long quickly, there is a compact mode, the difference demonstrated in the above screenshots.+If the visualisation contains monitors of different types, the output text is duplicated per monitor type with maxima reported appropriately (as an exception, if your chosen text contains no substitution variables, it will be outputted once regardless of how many different monitor types are included in the visualisation. This allows for an overlay text label rather than the usual monitor value reporting). As the output can get long quickly, there is a compact mode, the difference is demonstrated in the above screenshots
 + 
 +In individual monitor Advanced configuration, you can disable inclusion in the text overlay.
  
 It isn't obvious, but the configured monitor value separator is a single space - in the full mode, this string is used to separate values from tags, and between separate monitor outputs, and in the compact mode tags are right up against values so it just affects the output between monitors. It isn't obvious, but the configured monitor value separator is a single space - in the full mode, this string is used to separate values from tags, and between separate monitor outputs, and in the compact mode tags are right up against values so it just affects the output between monitors.
Line 248: Line 268:
 {{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-preferences-dialog-viewer-tab-curve-view-text-position.png?nolink | }} {{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-preferences-dialog-viewer-tab-curve-view-text-position.png?nolink | }}
  
-I use the 'Bottom center' option. +The example uses the 'Bottom center' option.
 ==== Horizontal Bars View ==== ==== Horizontal Bars View ====
  
 {{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-preferences-dialog-viewer-tab-horizontal-bars-view.png?nolink | }} {{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-preferences-dialog-viewer-tab-horizontal-bars-view.png?nolink | }}
  
-The only thing configurable here is the visualisation size (width) - works the same as before.+Configuration works in the same way as the Curve View.
  
 ==== Flames View ==== ==== Flames View ====
Line 260: Line 279:
 {{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-preferences-dialog-viewer-tab-flames-view.png?nolink | }} {{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-preferences-dialog-viewer-tab-flames-view.png?nolink | }}
  
 +Configuration works in the same way as the Curve View.
 ==== Columns View ==== ==== Columns View ====
  
 {{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-preferences-dialog-viewer-tab-columns-view.png?nolink | }} {{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-preferences-dialog-viewer-tab-columns-view.png?nolink | }}
  
 +Configuration works in the same way as the Curve View.
 ==== Vertical Bars View ==== ==== Vertical Bars View ====
  
 {{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-preferences-dialog-viewer-tab-vertical-bars-view.png?nolink | }} {{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-preferences-dialog-viewer-tab-vertical-bars-view.png?nolink | }}
  
 +Configuration works in the same way as the Curve View.
 ==== Text View ==== ==== Text View ====
  
 {{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-preferences-dialog-viewer-tab-text-view.png?nolink | }} {{ :projects:panel-plugins:xfce4-hardware-monitor-plugin-preferences-dialog-viewer-tab-text-view.png?nolink | }}
  
-In this view you can configure the font via a GTK font picker in the usual manner.+In this view you can configure the font via a GTK font picker in the usual manner, see Curve View for discussion of the Advanced section.
  
 ===== Background ===== ===== Background =====
Line 284: Line 306:
 ====== Screenshots ====== ====== Screenshots ======
  
-The following is reproduced from the [[http://www.fnxweb.com/hardware-monitor-screenshots|original applet screenshots page]]:+The following is reproduced from the [[https://www.fnxweb.com/hardware-monitor-screenshots|original applet screenshots page]]:
  
 A screenshot of all views monitoring CPU and network usage: A screenshot of all views monitoring CPU and network usage: