It is currently May 1st, 2024, 3:14 pm

Perfmon.dll Not Reporting Value

Report bugs with the Rainmeter application and suggest features.
User avatar
Klexur
Posts: 42
Joined: May 4th, 2009, 2:05 am

Perfmon.dll Not Reporting Value

Post by Klexur »

I'm not sure if this is a bug or not but since I couldn't find another post similar to this I'm asking. =P

I have Rainmeter set to autostart upon login and when it does, the one Perfmon measure in my skin doesn't report a value. Since my skin file is kind of long I only posted the code dealing with the Perfmon plugin.

Code: Select all

[Variables]
NetCard="Intel[R] WiFi Link 5100 AGN"

[mQuality]
Measure=Plugin
Plugin=Plugins\WifiStatus.dll
WifiInfoType=QUALITY
WifiIntfID=0
WifiListStyle=0
Substitute=" ":""

[mBandwidth]
Measure=Plugin
Plugin=Plugins\PerfMon.dll
PerfMonObject="Network Interface"
PerfMonCounter="Current Bandwidth"
PerfMonInstance=#NetCard#
PerfMonDifference=0
Substitute=" ":""

[Quality]
Meter=STRING
MeasureName=mQuality
MeasureName2=mBandwidth
MeterStyle=sAll | sData
Text="%1% %2bps"
AutoScale=2
NumOfDecimals=0
The measure [mBandwidth] reports a zero even though I can see my Current Bandwidth from my network status dialog and the Performance Monitor MMC. To make sure I even checked the About dialog for the measure values and [mBandwidth] was the same there. Refreshing the skin wouldn't change the value so I usually have to restart Rainmeter to fix it. Any clue what is causing this?
Last edited by Klexur on April 7th, 2012, 5:22 am, edited 1 time in total.
The quiet and inquisitive one.
User avatar
Seahorse
Posts: 1175
Joined: June 9th, 2010, 5:56 pm
Location: Locks heath, UK

Re: Perfmon.dll Not Reporting Value

Post by Seahorse »

Perfmon might need to be repaired - something I suffered recently. Details of the fix here.
"Regrettably your planet is one of those scheduled for demolition"
Mike

My Skins at DeviantArt

User avatar
Klexur
Posts: 42
Joined: May 4th, 2009, 2:05 am

Re: Perfmon.dll Not Reporting Value

Post by Klexur »

Seahorse wrote:However lodctr /r results in Info: Successfully rebuilt performance counter setting from system backup store and a working plugin.
I got the same result saying the performance counters were rebuilt, but upon reboot the value is still a zero and still fixed by my restarting Rainmeter. Why is restarting Rainmeter fixing the plugin/value problem but not refreshing the skin? Or better yet, why isn't the value reported to begin with?
The quiet and inquisitive one.
User avatar
Mordasius
Posts: 1173
Joined: January 22nd, 2011, 4:23 pm
Location: GMT +8

Re: Perfmon.dll Not Reporting Value

Post by Mordasius »

I had the same problem of measures using Perfmon.dll not updating with !Refresh when I upgraded to 2.3.0 beta r1265 64-bit. Although the change log says that "PerfMon.dll: Fixed a problem with incorrect values being returned in some cases" it seems that the 14KB version of Perfmon.dll (modified 25 March 2012) is still misbehaving.

Reverting to the 23KB version of Perfmon.dll that shipped with Rainmeter-2.3-r1245-beta cures the non-updating issue but does not support the use of DynamicVariables. it may cause some other problems with 2.3.0 beta r1265 but I haven't come across any - yet.
poiru
Developer
Posts: 2872
Joined: April 17th, 2009, 12:18 pm

Re: Perfmon.dll Not Reporting Value

Post by poiru »

Mordasius wrote:Reverting to the 23KB version of Perfmon.dll that shipped with Rainmeter-2.3-r1245-beta cures the non-updating issue but I haven't done any serious testing to see if it causes any other problems with 2.3.0 beta r1265.
The beta release later today should fix your issues (sent you a PM, let me know if it works).
User avatar
Jasthrus
Posts: 4
Joined: April 1st, 2012, 5:48 pm

Re: Perfmon.dll Not Reporting Value

Post by Jasthrus »

Just installed the fresh BETA release, v1273 (32-bit), as since I upgraded from the release to the BETA version, PerfMon.dll does not give me any Disk Read/Write values. This was working flawlessly in the release, however v1273 and the previous BETA do not.

EDIT: Following another persons advice on the forums, using the PerfMon.dll packaged with r1245, otherwise r1273 is running, and now writes and reads are working. Something with PerfMon in r1265 and r1273 does not allow Disk Reads/sec and Disk Writes/sec values to show.

Let me know if there are any other solutions.

EDIT 2:

Code: Select all

[MeasureHD1DiskReads]
Measure=Plugin
Plugin=PerfMon.dll
PerfMonObject=LogicalDisk
PerfMonCounter="Disk Reads/sec"
PerfMonInstance="#HD1#"

[MeasureHD1DiskWrites]
Measure=Plugin
Plugin=PerfMon.dll
PerfMonObject=LogicalDisk
PerfMonCounter="Disk Writes/sec"
PerfMonInstance="#HD1#"
#HD1# in this case is C: like most people. Right now with THIS code it works with the r1245 file, not r1265 or 1273. Is there a different code for those PerfMon revisions?
You do not have the required permissions to view the files attached to this post.
Last edited by Jasthrus on April 2nd, 2012, 1:37 am, edited 1 time in total.
poiru
Developer
Posts: 2872
Joined: April 17th, 2009, 12:18 pm

Re: Perfmon.dll Not Reporting Value

Post by poiru »

If you're still having problems, can you post the relevant PerfMon sections of the code?
DigitalDJ
Posts: 35
Joined: December 30th, 2011, 3:30 pm

Re: Perfmon.dll Not Reporting Value

Post by DigitalDJ »

As per the other thread I still get Processes = 0 on r1273. Perfmon MMC reports the value normally.
DigitalDJ
Posts: 35
Joined: December 30th, 2011, 3:30 pm

Re: Perfmon.dll Not Reporting Value

Post by DigitalDJ »

I decided to checkout the Rainmeter git repo (5th Apr 12) to debug the PerfMon DLL. So far It's pretty odd. I did a Debug x64 build and everything works...but when I switch to Release x64, it breaks and it shows 0 again. Still investigating, but thought I'd share some detail.
DigitalDJ
Posts: 35
Joined: December 30th, 2011, 3:30 pm

Re: Perfmon.dll Not Reporting Value

Post by DigitalDJ »

Narrowed it down to Inline Function Expansion (PluginPerfMon properties > C/C++ > Optimization). When set to Default, everything is A-OK, but when using "Only __inline", which is the default for Release builds, everything falls over.