It is currently November 18th, 2018, 11:42 pm

PerfMonRxtd [v1.2.1] — PerfMonPDH global mod

Share your custom plugins and applications to enhance Rainmeter.
Posts: 61
Joined: April 30th, 2017, 11:51 am

PerfMonRxtd [v1.2.1] — PerfMonPDH global mod

rxtd » September 10th, 2018, 6:28 pm


buckb created a great plugin PerfMonPDH. He also opened it's sources so modifications are possible.
This topic is created for two reasons: this plugin is no more compatible with PerfMonPDH, and not many people will find it in the dozens of posts in the original topic.
I don't really like "PerfMonRxtd" as a name of a plugin but I haven't come up with better name.


PerfMonRxtd extends PerfMonPDH. It aims to replace old PerfMon and new UsageMonitor plugins.
All features of PerfMonPDH are supported.
All features of PerfMon are supported.
All features of UsageMonitor are supported.

In comparison with PerfMonPDH there are some differences here and there, but the most important is support for custom expressions that allows you to use sorting and rollup with other things than just counters.
Other nice feature is the ability to pause data fetching while keeping updates of parent measure. It allows different sorting options on the same dataset, and anything other that can be achieved with changing options.

See "readme.txt" for the full documentation.

All comments and suggestions are welcome.

Archive contains readme file, both 32 and 64-bit versions, example skin and Visual Studio project with sources.
Plugin source code is available at github.

Here is an example skin in the .rmskin container
PerfMonRxtd example_1.1.1.rmskin
Skin shows approximate RAM usage (in the left) and approximate Commit usage (in the right). It is very rough but I don't know any better way, and seems like Google doesn't know either. Buttons in the upper right corner can pause data fetching and switch between sorting by RAM and Commit. Buttons in the upper left corner are used to show processes further than 1-7.

You can find other examples in the PerfMonPDH topic — plugins have different, but very similar syntax.

Version History
2018-09-11 — 1.0.0 — Initial release.
2018-09-16 — 1.1.0 — Changelog
2018-09-16 — 1.1.1 — updated plugin version in the dll metadata.
2018-11-05 — 1.2.1 — Changelog
You do not have the required permissions to view the files attached to this post.
Last edited by rxtd on November 5th, 2018, 7:43 pm, edited 11 times in total.
Posts: 34
Joined: February 12th, 2018, 12:47 am

Re: PerfMonRxtd — PerfMonPDH global mod

buckb » September 10th, 2018, 10:24 pm

Nice work, rxtd.

Posts: 61
Joined: April 30th, 2017, 11:51 am

Re: PerfMonRxtd [v1.1.0] — PerfMonPDH global mod

rxtd » September 16th, 2018, 8:52 am

Plugin updated to version 1.1.0.
Fixed: child measures with RESULTSTRING_NUMBER have string value ""
Fixed: sort by name works incorrectly with non ASCII letters
Fixed: expressions rollup for min/max values solved incorrectly
Fixed: expressions does not recognize floating pointer numbers
Fixed: some valid math expressions can't be parsed (e.g. "1 - 2 + 3")
Fixed: some expressions can crash plugin (e.g. "-1")
Fixed: very long process names could potentially crash plugin when using "GPU Engine" and "GPU Process Memory" objects
Added: child option "SearchOriginalName"
Added: child option "NameSource"
Added: expressions now support "SearchOriginalName" and "NameSource"
Added: WhitelistOrig, BlacklistOrig options: case sensitive, match original names instead of display names
Added: "LogicalDisk" can be rolled up by mount folder (ported from PerfMonPDH, thanks to buckb for the idea and code)
Changed: display name and rollup name merged into display name
Changed: black/white lists are case insensitive
Changed: "LogicalDisk" have three Display names: Original, DriveLetter, MountFolder. If Original is set then rollup can not be performed because all names are unique.
Changed: "GPU Engine" and "GPU Process Memory": removed "Gpu" from display names. Old options are still supported
Changed: ResultString names: removed "Instance" part. Old names are still supported
Changed: removed counters max number limit
Changed: if sortBy set to expressions, but no expressions found, then sort is set to none instead of breaking the measure
Changed: LimitIndexOffset is set to false by default

"Fixed" explains a problem and means that this problem is no longer exists.
"Changed" explains new behavior.
Readme file was improved.
Example skin was missing a script file, which is now included into archive and .rmskin package.

Please, write here if you encounter any problems or bugs.

Plugin updated to version 1.1.1.
The only change is that now version in the dll is 1.1.0. I forgot to change version in the first upload.
Posts: 61
Joined: April 30th, 2017, 11:51 am

Re: PerfMonRxtd [v1.2.1] — PerfMonPDH global mod

rxtd » November 4th, 2018, 6:58 pm

Plugin updated to version 1.2.1.
Changed: child measure searches for parent case insensitive
Changed: "GetInstanceCount", "GetInstanceName" now deprecated
Removed: mixed discarded search modes
Changed: discarded search syntax is now boolean
Added: "KeepDiscarded" parent option
Changed: "Count" rollup function now deprecated
Added: "GetCount" child type
Added: "Count" expression keyword
Added: Total values
Readme file was improved.