It is currently March 28th, 2024, 1:47 pm

New UsageMonitor plugin

Changes made during the Rainmeter 4.2 beta cycle.
Post Reply
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

New UsageMonitor plugin

Post by jsmorley »

Thanks to clever design and hard work by Rainmeter developer tjhrulz, we have added a new UsageMonitor plugin to the build.

This plugin will entirely deprecate both of the existing AdvancedCPU and PerfMon plugins, and should be used in their place going forward.

This should also be used in favor of the 3rd-party NomFerp plugin, which has some performance and localization issues, and seems to be abandoned in any case.

The reduction in CPU usage by this plugin, and the complete elimination of the nasty "blocking / stuttering" effect that the older plugins had on overall Rainmeter performance, is DRAMATIC!

Key features:

1) Uses defined Alias options to simplify getting the Category and Counter you want from perfmon.
2) Can obtain values by "total", "average", "index of top", or by instance "name".
3) Programs like chrome that create multiple (chrome#1, chrome#2) processes are automatically rolled-up.
4) If you are on Windows 10 - Fall Creators Update or later, new GPU information is available.
5) The plugin in fully "localized", and can be used with any system language supported by Windows.

Details and examples are at:

>> Usage Monitor Plugin
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: New UsageMonitor plugin

Post by jsmorley »

Now we need you folks to really beat this up, and report any issues so we can stamp them out!
User avatar
tjhrulz
Developer
Posts: 267
Joined: October 13th, 2016, 1:28 am
Location: Earth
Contact:

Re: New UsageMonitor plugin

Post by tjhrulz »

Yeah especially feel free to stress test it in different languages.
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: New UsageMonitor plugin

Post by jsmorley »

This .rmskin will demonstrate how little CPU this plugin uses. Check the difference between RainmeterProcessNew.ini (the new UsgeMonitor plugin) and RainmeterProcess.ini (using the old Perfmon plugin)
RainmeterProcess_1.0.rmskin
(2.82 KiB) Downloaded 476 times
1.jpg
I can't stress enough that if you have any existing skins that are using PerMon plugin or AdvancedCPU plugin, change them to use UsageMontior plugin. Now...
User avatar
SilverAzide
Rainmeter Sage
Posts: 2588
Joined: March 23rd, 2015, 5:26 pm
Contact:

Re: New UsageMonitor plugin

Post by SilverAzide »

:yahoo:
User avatar
fonpaolo
Moderator
Posts: 1387
Joined: April 11th, 2013, 8:08 pm
Location: Italy
Contact:

Re: New UsageMonitor plugin

Post by fonpaolo »

Just a small question, reading the docs:
"Alias=IOREAD
Category: Process | Counter: IO Read Bytes/sec
Bytes per second of read usage by each process,
across all disks."
How can I replace PerfMon to monitor read/write of a single disk?
Maybe I miss something...
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: New UsageMonitor plugin

Post by jsmorley »

fonpaolo wrote:Just a small question, reading the docs:
"Alias=IOREAD
Category: Process | Counter: IO Read Bytes/sec
Bytes per second of read usage by each process,
across all disks."
How can I replace PerfMon to monitor read/write of a single disk?
Maybe I miss something...
Alias=IOREAD is designed to see how much reading a "process" is doing, or that "all processes" are doing if Index=0. If you want to see how much reading is being done on a particular "drive" you might use:

Code: Select all

[MeasureDrive1Read]
Measure=Plugin
Plugin=UsageMonitor
Category=PhysicalDisk
Counter=Disk Read Bytes/sec
Name=0 C:
Or:

Code: Select all

[MeasureDrive1Read]
Measure=Plugin
Plugin=UsageMonitor
Category=LogicalDisk
Counter=Disk Read Bytes/sec
Name=C:
This won't, and can't, be both for a particular "process" AND a particular "drive". It's not separated that way in perfmon. You can't ask "how much is Rainmeter reading from Drive C?", only "how much is Rainmeter reading?". There are no multi-tiered counters in perfmon, with Category>Counter>Instance>Instance of an Instance. Just not structured that way.
`.jpg
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: New UsageMonitor plugin

Post by jsmorley »

tjhrulz found this posted on Discord already... I had to really laugh.

Image

Sorry, but Microsoft only added GPU to both TaskManager and Perfmon in Windows 10. Windows 7 Luddites will have to do without.. ;-)
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: New UsageMonitor plugin

Post by jsmorley »

I have to say, I have a moderately complicated "System" skin that I have run forever...
`.jpg
It used to use a bunch of PerfMon measures, and recently I changed to using NomFerp, as that was a bit more efficient.

When all my normal skins including this one were running, Rainmeter would hover between 1.5% and 3.0% of total CPU.

I have just reworked it using the new UsageMonitor plugin, and wow.

Now Rainmeter is hovering between 0.4% and 0.8% of total CPU, and really never even gets to 1%. It's a small thing in the scope of world history, but I'm really pleased.

Again, I can't recommend enough that if you have any skin that are using AdvancedCPU, PerfMon, or NomFerp, you rework them to use UsageMonitor. I think you will be happy with the results.
User avatar
SilverAzide
Rainmeter Sage
Posts: 2588
Joined: March 23rd, 2015, 5:26 pm
Contact:

Re: New UsageMonitor plugin

Post by SilverAzide »

jsmorley wrote:Again, I can't recommend enough that if you have any skin that are using AdvancedCPU, PerfMon, or NomFerp, you rework them to use UsageMonitor. I think you will be happy with the results.
Hello! I noticed the 4.2 docs have officially declared PerfMon and AdvancedCPU deprecated. One question... PerfMon has an option PerfMonDifference which defaults to 1. I've always used the option PerfMonDifference=0, which seems to be the way UsageMonitor behaves. Is there a migration path for PerfMonDifference=1?
Post Reply