It is currently October 21st, 2018, 11:23 am

New UsageMonitor plugin

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

Re: New UsageMonitor plugin

jsmorley » July 18th, 2018, 3:35 pm

MikeG621 wrote:I've tried searching for this but couldn't find anything so...

While this is clearly meant to replace the other plugins, what about simple things like Measure=CPU? The UsageMonitor doc page shows examples for some of the simple uses, but then to use value formatting the doc says you need to add a new scaling Measure, there's extra lines and options, etc.

You're going from

Code: Select all

[MeasureCPU]
Measure=CPU
to

Code: Select all

[MeasureCPU]
Measure=Plugin
Plugin=UsageMonitor
Alias=CPU

[MeasureCpuScaling]
Measure=Calc
Formula=MeasureCPU
Is Rainmeter already doing this under the hood, so skin makers don't have to worry about it?
Measure=CPU does not directly use the data from Windows perfmon.exe, and doesn't have the performance issues that the Perfmon and AdvancedCPU plugins have. So whether or not you change from that measure to UsageMonitor is up to you. However, it is true that UsageMonitor will return Alias=CPU and Index=0 as both a number value (a percentage from 0-100) and a string value ("Total"), so to use the number value in a String meter you would need to use [MeasureName:] as a section variable, to get the number instead of the string value.

To use it, I would use:

Code: Select all

[MeasureCPU]
Measure=Plugin
Plugin=UsageMonitor
Alias=CPU
Index=0
And then in a String meter:

Code: Select all

[MeterCPU%]
Meter=String
AntiAlias=1
DynamicVariables=1
Text="[MeasureCPU:0]%"
That will display the percentage from 0-100 with no decimal places, followed by a "%".

You really only need a Calc measure to obtain the number value as a string if you are going to be "auto scaling" on the String meter, which you won't be with CPU. That is only going to come into play if you are getting things that are in bytes, like disk space or memory.

I don't know that the UsageMonitor plugin has any particular advantage, perhaps a small disadvantage, compared to the simple Measure=CPU to get the percentage of CPU use for the CPU or individual CPU cores. However, if what you are asking is "What process is using the most CPU, and how much?" or "How much CPU is firefox.exe using?" then UsageMonitor is absolutely the way to go, and if you are using UsageMonitor with Alias=CPU for other purposes like those, then also using it to get the total CPU is in a sense "free". Measure=CPU doesn't use a lot of resources, but by the nature of things it has to be more than "none".

https://docs.rainmeter.net/manual/plugins/usagemonitor/#Performance