It is currently May 4th, 2024, 1:46 am

PerfMon Plugin Data Errors

Get help with installing and using Rainmeter.
Masterchi
Posts: 5
Joined: May 28th, 2012, 4:29 am
Location: Virginia Beach, VA

PerfMon Plugin Data Errors

Post by Masterchi »

I am having possible Disk Performance issues in my computer. Instead of constantly opening Resource Monitor when i noticed the extreme disk slow down i decided to start customizing RainMeter with the PerfMon measures so i can visually see whats going on while it slows down instead of trying to open resource monitor in time to catch it.

I have one measure called "Current Disk Queue Length" and it starts display correct values (such as 1.0 or 2.0) during use but then all of a sudden it flashes the digits "16777216.0T" and I have no idea where that is coming from. I have a attached a screenshot of the display (hopefully it uploads successfully). Like i said, its random.....when i run Perfmon.msc and compare the digits it all seems OK with it displaying but after a few seconds this "16777216.0T" randomly displays briefly and then it goes back to displaying the correct number. Thanks for any help you can provide.

Script below:

Code: Select all

; Lines starting ; (semicolons) are commented out.
; That is, they do not affect the code and are here for demonstration purposes only.
; ----------------------------------

[Rainmeter]
; This section contains general settings that can be used to change how Rainmeter behaves.
Author=poiru
AppVersion=2003000
Update=1000
Background=#@#Background.png
; #@# is equal to Rainmeter\Skins\illustro\@Resources
BackgroundMode=3
BackgroundMargins=0,34,0,14

[Metadata]
; Contains basic information of the skin.
Description=Displays basic system stats.
License=Creative Commons BY-NC-SA 3.0
Version=1.0.0

[Variables]
; Variables declared here can be used later on between two # characters (e.g. #MyVariable#).
fontName=Trebuchet MS
textSize=8
colorBar=235,170,0,255
colorText=255,255,255,205

; ----------------------------------
; MEASURES return some kind of value
; ----------------------------------

; Display the disk access in drive C:
[MeasureDiskAccess1]
Measure=Plugin
Plugin=PerfMon
PerfMonObject=LogicalDisk
PerfMonCounter="Disk Bytes/sec"
PerfMonInstance="C:"

[MeasureDiskRead1]
Measure=Plugin
Plugin=PerfMon
PerfMonObject=LogicalDisk
PerfMonCounter="Disk Reads/sec"
PerfMonInstance="C:"

[MeasureDiskQueueLength1]
Measure=Plugin
Plugin=PerfMon
PerfMonObject=LogicalDisk
PerfMonCounter="Current Disk Queue Length"
PerfMonInstance="C:"

[MeasureDiskAccess2]
Measure=Plugin
Plugin=PerfMon
PerfMonObject=LogicalDisk
PerfMonCounter="Disk Bytes/sec"
PerfMonInstance="E:"

[MeasureDiskRead2]
Measure=Plugin
Plugin=PerfMon
PerfMonObject=LogicalDisk
PerfMonCounter="Disk Reads/sec"
PerfMonInstance="E:"

[MeasureDiskQueueLength2]
Measure=Plugin
Plugin=PerfMon
PerfMonObject=LogicalDisk
PerfMonCounter="Current Disk Queue Length"
PerfMonInstance="E:"


; ----------------------------------
; STYLES are used to "centralize" options
; ----------------------------------

[styleTitle]
StringAlign=CENTER
StringCase=UPPER
StringStyle=BOLD
StringEffect=SHADOW
FontEffectColor=0,0,0,50
FontColor=#colorText#
FontFace=#fontName#
FontSize=10
AntiAlias=1
ClipString=1

[styleLeftText]
StringAlign=LEFT
; Meters using styleLeftText will be left-aligned.
StringCase=NONE
StringStyle=BOLD
StringEffect=SHADOW
FontEffectColor=0,0,0,20
FontColor=#colorText#
FontFace=#fontName#
FontSize=#textSize#
AntiAlias=1
ClipString=1

[styleRightText]
StringAlign=RIGHT
StringCase=NONE
StringStyle=BOLD
StringEffect=SHADOW
FontEffectColor=0,0,0,20
FontColor=#colorText#
FontFace=#fontName#
FontSize=#textSize#
AntiAlias=1
ClipString=1

[styleBar]
BarColor=#colorBar#
BarOrientation=HORIZONTAL
SolidColor=255,255,255,15

; ----------------------------------
; METERS display images, text, bars, etc.
; ----------------------------------

[meterTitle]
Meter=STRING
MeterStyle=styleTitle
; Using MeterStyle=styleTitle will basically "copy" the
; contents of the [styleTitle] section here during runtime.
X=100
Y=12
W=190
H=18
Text="Performance"
LeftMouseUpAction=!Execute ["resmon.exe"]
ToolTipText="Open Resource Monitor"


[meterLabelDiskBytesSec1]
Meter=STRING
MeterStyle=styleLeftText
X=10
Y=40
W=190
H=14
Text="Disk 0 Bytes/sec"


[meterLabelDiskReadsSec1]
Meter=STRING
MeterStyle=styleLeftText
X=10
Y=60
W=190
H=14
Text="Disk 0 Reads/sec"

[meterLabelDiskQueueLength1]
Meter=STRING
MeterStyle=styleLeftText
X=10
Y=80
W=190
H=14
Text="Disk 0 Queue Length"

[meterLabelDiskBytesSec2]
Meter=STRING
MeterStyle=styleLeftText
X=10
Y=100
W=190
H=14
Text="Disk 1 Bytes/sec"


[meterLabelDiskReadsSec2]
Meter=STRING
MeterStyle=styleLeftText
X=10
Y=120
W=190
H=14
Text="Disk 1 Reads/sec"

[meterLabelDiskQueueLength2]
Meter=STRING
MeterStyle=styleLeftText
X=10
Y=140
W=190
H=14
Text="Disk 1 Queue Length"


[meterValueDiskBytesSec1]
Meter=STRING
MeterStyle=styleRightText
MeasureName=MeasureDiskAccess1
X=200
Y=40
W=190
H=14
Text="%1"
Autoscale=1

[meterValueDiskReadsSec1]
Meter=STRING
MeterStyle=styleRightText
MeasureName=MeasureDiskRead1
X=200
Y=60
W=190
H=14
Text="%1"
Autoscale=1

[meterValueDiskQueueLength1]
Meter=STRING
MeterStyle=styleRightText
MeasureName=MeasureDiskQueueLength1
X=200
Y=80
W=190
H=14
Text="%1"
Autoscale=1


[meterValueDiskBytesSec2]
Meter=STRING
MeterStyle=styleRightText
MeasureName=MeasureDiskAccess2
X=200
Y=100
W=190
H=14
Text="%1"
Autoscale=1


[meterValueDiskReadsSec2]
Meter=STRING
MeterStyle=styleRightText
MeasureName=MeasureDiskRead2
X=200
Y=120
W=190
H=14
Text="%1"
Autoscale=1

[meterValueDiskQueueLength2]
Meter=STRING
MeterStyle=styleRightText
MeasureName=MeasureDiskQueueLength2
X=200
Y=140
W=190
H=14
Text="%1"
Autoscale=1
You do not have the required permissions to view the files attached to this post.
Oseike
Posts: 1
Joined: April 6th, 2013, 2:52 am

Re: PerfMon Plugin Data Errors

Post by Oseike »

Ooh! This is very close to what I am wanting to do. I am looking for a plug-in that would let me see the top 5-10 programs that are monopolizing CPU and how much of it they're using. My computer (a laptop) starts running the fans and getting hot the moment my overall CPU usage goes over 11%, and so I'm constantly monitoring which programs are eating CPU and if they are something I can end process on or not. Rather than have my resource monitor open all the time, though, I figured it would be easiest if I could somehow code a plug-in for my rainmeter that displays that information.

However, I'm brand new to attempting to code plug-ins and have no idea where to even start. I tried reading their tutorials but they don't really give me the information I need...

Sorry to ask this of you, but is there somewhere I can get started? Do you know if someone has already made something like this? I scrolled around the forums here but haven't found much yet. Your plug-in seems to be the closest thing to what I'm trying to do, so I can only hope you have some kind of insight for me!
User avatar
jsmorley
Developer
Posts: 22631
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: PerfMon Plugin Data Errors

Post by jsmorley »

Masterchi wrote:I am having possible Disk Performance issues in my computer. Instead of constantly opening Resource Monitor when i noticed the extreme disk slow down i decided to start customizing RainMeter with the PerfMon measures so i can visually see whats going on while it slows down instead of trying to open resource monitor in time to catch it.

I have one measure called "Current Disk Queue Length" and it starts display correct values (such as 1.0 or 2.0) during use but then all of a sudden it flashes the digits "16777216.0T" and I have no idea where that is coming from. I have a attached a screenshot of the display (hopefully it uploads successfully). Like i said, its random.....when i run Perfmon.msc and compare the digits it all seems OK with it displaying but after a few seconds this "16777216.0T" randomly displays briefly and then it goes back to displaying the correct number. Thanks for any help you can provide.

Script below:

Code: Select all

; Lines starting ; (semicolons) are commented out.
; That is, they do not affect the code and are here for demonstration purposes only.
; ----------------------------------

[Rainmeter]
; This section contains general settings that can be used to change how Rainmeter behaves.
Author=poiru
AppVersion=2003000
Update=1000
Background=#@#Background.png
; #@# is equal to Rainmeter\Skins\illustro\@Resources
BackgroundMode=3
BackgroundMargins=0,34,0,14

[Metadata]
; Contains basic information of the skin.
Description=Displays basic system stats.
License=Creative Commons BY-NC-SA 3.0
Version=1.0.0

[Variables]
; Variables declared here can be used later on between two # characters (e.g. #MyVariable#).
fontName=Trebuchet MS
textSize=8
colorBar=235,170,0,255
colorText=255,255,255,205

; ----------------------------------
; MEASURES return some kind of value
; ----------------------------------

; Display the disk access in drive C:
[MeasureDiskAccess1]
Measure=Plugin
Plugin=PerfMon
PerfMonObject=LogicalDisk
PerfMonCounter="Disk Bytes/sec"
PerfMonInstance="C:"

[MeasureDiskRead1]
Measure=Plugin
Plugin=PerfMon
PerfMonObject=LogicalDisk
PerfMonCounter="Disk Reads/sec"
PerfMonInstance="C:"

[MeasureDiskQueueLength1]
Measure=Plugin
Plugin=PerfMon
PerfMonObject=LogicalDisk
PerfMonCounter="Current Disk Queue Length"
PerfMonInstance="C:"

[MeasureDiskAccess2]
Measure=Plugin
Plugin=PerfMon
PerfMonObject=LogicalDisk
PerfMonCounter="Disk Bytes/sec"
PerfMonInstance="E:"

[MeasureDiskRead2]
Measure=Plugin
Plugin=PerfMon
PerfMonObject=LogicalDisk
PerfMonCounter="Disk Reads/sec"
PerfMonInstance="E:"

[MeasureDiskQueueLength2]
Measure=Plugin
Plugin=PerfMon
PerfMonObject=LogicalDisk
PerfMonCounter="Current Disk Queue Length"
PerfMonInstance="E:"


; ----------------------------------
; STYLES are used to "centralize" options
; ----------------------------------

[styleTitle]
StringAlign=CENTER
StringCase=UPPER
StringStyle=BOLD
StringEffect=SHADOW
FontEffectColor=0,0,0,50
FontColor=#colorText#
FontFace=#fontName#
FontSize=10
AntiAlias=1
ClipString=1

[styleLeftText]
StringAlign=LEFT
; Meters using styleLeftText will be left-aligned.
StringCase=NONE
StringStyle=BOLD
StringEffect=SHADOW
FontEffectColor=0,0,0,20
FontColor=#colorText#
FontFace=#fontName#
FontSize=#textSize#
AntiAlias=1
ClipString=1

[styleRightText]
StringAlign=RIGHT
StringCase=NONE
StringStyle=BOLD
StringEffect=SHADOW
FontEffectColor=0,0,0,20
FontColor=#colorText#
FontFace=#fontName#
FontSize=#textSize#
AntiAlias=1
ClipString=1

[styleBar]
BarColor=#colorBar#
BarOrientation=HORIZONTAL
SolidColor=255,255,255,15

; ----------------------------------
; METERS display images, text, bars, etc.
; ----------------------------------

[meterTitle]
Meter=STRING
MeterStyle=styleTitle
; Using MeterStyle=styleTitle will basically "copy" the
; contents of the [styleTitle] section here during runtime.
X=100
Y=12
W=190
H=18
Text="Performance"
LeftMouseUpAction=!Execute ["resmon.exe"]
ToolTipText="Open Resource Monitor"


[meterLabelDiskBytesSec1]
Meter=STRING
MeterStyle=styleLeftText
X=10
Y=40
W=190
H=14
Text="Disk 0 Bytes/sec"


[meterLabelDiskReadsSec1]
Meter=STRING
MeterStyle=styleLeftText
X=10
Y=60
W=190
H=14
Text="Disk 0 Reads/sec"

[meterLabelDiskQueueLength1]
Meter=STRING
MeterStyle=styleLeftText
X=10
Y=80
W=190
H=14
Text="Disk 0 Queue Length"

[meterLabelDiskBytesSec2]
Meter=STRING
MeterStyle=styleLeftText
X=10
Y=100
W=190
H=14
Text="Disk 1 Bytes/sec"


[meterLabelDiskReadsSec2]
Meter=STRING
MeterStyle=styleLeftText
X=10
Y=120
W=190
H=14
Text="Disk 1 Reads/sec"

[meterLabelDiskQueueLength2]
Meter=STRING
MeterStyle=styleLeftText
X=10
Y=140
W=190
H=14
Text="Disk 1 Queue Length"


[meterValueDiskBytesSec1]
Meter=STRING
MeterStyle=styleRightText
MeasureName=MeasureDiskAccess1
X=200
Y=40
W=190
H=14
Text="%1"
Autoscale=1

[meterValueDiskReadsSec1]
Meter=STRING
MeterStyle=styleRightText
MeasureName=MeasureDiskRead1
X=200
Y=60
W=190
H=14
Text="%1"
Autoscale=1

[meterValueDiskQueueLength1]
Meter=STRING
MeterStyle=styleRightText
MeasureName=MeasureDiskQueueLength1
X=200
Y=80
W=190
H=14
Text="%1"
Autoscale=1


[meterValueDiskBytesSec2]
Meter=STRING
MeterStyle=styleRightText
MeasureName=MeasureDiskAccess2
X=200
Y=100
W=190
H=14
Text="%1"
Autoscale=1


[meterValueDiskReadsSec2]
Meter=STRING
MeterStyle=styleRightText
MeasureName=MeasureDiskRead2
X=200
Y=120
W=190
H=14
Text="%1"
Autoscale=1

[meterValueDiskQueueLength2]
Meter=STRING
MeterStyle=styleRightText
MeasureName=MeasureDiskQueueLength2
X=200
Y=140
W=190
H=14
Text="%1"
Autoscale=1
I suspect you need to set PerfMonDifference=0