|
!TaskUsage
v1.63 (28 Oct 2016)
|
The !TaskUsage application enables the processor usage of a RISC OS computer to be easily monitored. An outline of the facilities of !TaskUsage follows:
- The !TaskUsage IconBar icon shows a graph of the Total processor usage over the last few minutes. Module usage is Red, Application usage is Blue.
- An optional window displays the recent average processor usage for each Task, modeled on the TaskManager Tasks storage display.
- An optional window displays the recent average processor usage for each Wimp Reason Code, and the number of Wimp Polls being processed.
- The Reason Code and Poll details can be for all Tasks, or for a specific Task.
- Any Reason Codes masked out by a specific task are shaded, helping to identify reason code masking problems.
- Tasks can be asked to Quit, like using the TaskManager display.
- Low memory overhead - only uses about 15k memory (RMA) on any machine.
- Low processor overhead - uses less than 1% processor on a Strongarm with 100 tasks.
- Runs as a Module Task on any RISC OS v3+ machine.
- The IconBar icon has a configurable appearance. Coloured, Plinth, Well, Wall, and Channel designs are provided, enabling it to match your desktop preferences.
- The IconBar icon has a configurable width, from 30 seconds to 9 minutes, enabling different timespans to be visible.
- The graphical bars can be configured to show the maximum reached.
- Tested on RISC OS v4 *and* RISC OS v5 Iyonix
- Revised Help information in StrongHelp format for ease of use.
- Tasks can have Nulls masked out.
- No longer uses Timer1, so will not be affected by any other applications, but timing now is more accurate.
The application grew from a theory that some tasks seemed to take more processing power than they should, either permanently or intermittently, making the desktop sluggish. The main causes seems to be programmers simple mistakes, or programmers being lazy, and ignoring the exhortation in the Programmer's Reference manual, page 3-116:
You can disable some of the event codes: they are neither checked for nor returned, and need not have any handlers provided. You must do this for as many codes as possible, especially the Null_Reason_Code, if your task is to run efficiently under the Wimp.
However, all the processor monitoring facilities I could find were not what I felt was required, so I wrote !TaskUsage.
Examples of Task Usage Displays
Some IconBar Icons
Task Processor Usage Window
Task Reason Code Usage Window
Change History
v1.32 10/01/1999 Initial WWW release version
v1.33 23/02/1999 Major changes to improve Configuration. Trapped another application stealing Timer 1.
v1.34 23/02/1999 Beta Test version
v1.35 15/03/1999 Release version
v1.36 12/04/1999 Minor changes + Task Range bug fix
v1.37 15/05/1999 Reason window brought to front, and Task Quit facility
v1.38 22/06/1999 Set HighTask at GetNextTask & UpdateTaskList not PostFilter
v1.39 26/06/1999 Added check on Timer1 usage & Module CPU colour to IconBar
v1.40 02/09/2000 Added Stop Nulls option. Changed !Help to StrongHelp format and updated it
v1.50 16/03/2002 Removed use of Timer1 and improved timing. Added Reset Max. Various optimisations and bugfixes.
v1.51 18/03/2002 Fixed problem with Config & Apps totals
v1.52 14/04/2002 Minor bug fix and corrected TestProgs Directory.
v1.60 23/03/2003 Release version with 32-bit compatibility.
v1.61 09/10/2003 Fixed Illegal window handle caused by Aemulor v2.1. Added Toolbox events to Reason Code display. Aligned Reason Code numbers and text better.
v1.62 14/10/2016 Fixed SuspendBitSettings. Removed dependence on ExtBasAsm.
v1.63 28/10/2016 Fixed issues on RPi, ARMX6, etc if HAL CounterPeriod was < 10000 it was ignored, so tried to read old IOC. This caused all apps using Wimp to fail nastily! Fixed by rounding factor. Also caters for NetTime adjusting counter up/down a bit. Moved Help on main menu to be Style Guide compliant.
How to obtain Task Usage
To download please click on
!TaskUsage (35 kByte Zip Archive)
E&OE. © Copyright Martin Avison, 2005.
Last updated: Tue 16th November 2021
Please send any queries or comments to
This site is hosted by Force9 on Plusnet