PerfMonRxtd [v1.1.0] — PerfMonPDH global mod

Share your custom plugins and applications to enhance Rainmeter.

PerfMonRxtd [v1.1.0] — PerfMonPDH global mod

September 10th, 2018, 6:28 pm
   [37 posts]


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 has mostly the same features as PerfMonPDH. It aims to replace old PerfMon and new UsageMonitor plugins.
Like in PerfMonPDH, the parent/child model is used.

Anything that could be done with the original PerfMon plugin can be done with PerfMonRxtd.
Almost all features of UsageMonitor are supported, although some things has different syntax. As far as I know, only Total and Average indexes are missing.

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.

This plugin now supports all features of PerfMonPDH v2.0.1.3 except GetRawCounterAll and GetFormattedCounterAll, and offers features that is not present in PerfMonPDH.

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.
You do not have the required permissions to view the files attached to this post.
Last edited by rxtd on September 16th, 2018, 12:01 pm, edited 8 times in total.

Re: PerfMonRxtd — PerfMonPDH global mod

September 10th, 2018, 10:24 pm
   [34 posts]

Nice work, rxtd.


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

September 16th, 2018, 8:52 am
   [37 posts]

Plugin updates 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.

Return to “Plugins & Addons”

Who is online

Users browsing this forum: Ahrefs [Bot] and 1 guest