It is currently March 28th, 2024, 11:51 am

NomFerp Plugin

Share and get help with Plugins and Addons
User avatar
Yincognito
Rainmeter Sage
Posts: 7017
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: New PerfMon Plugin

Post by Yincognito »

Dreossk wrote:Still 0 everywhere :( I see the variables are still in english, is that normal? I changed them but the same problem persists, there is a "name" variable and I don't have an equivalent for that in Perfmon.
Yes, the options' parameters are still in English, as the developer has added an additional option ForceEn=1, so I believe you don't have to modify anything in the tested skin to see if it works.
ailia
Posts: 34
Joined: August 6th, 2012, 9:56 pm
Location: Lurking

Re: New PerfMon Plugin

Post by ailia »

Well, I guess that design was a bust due to some incorrect info on MSDN, lets try something much simpler.
Attachments
NomFerp Language Test 2.rmskin
(27.85 KiB) Downloaded 90 times
ailia
Posts: 34
Joined: August 6th, 2012, 9:56 pm
Location: Lurking

Re: New PerfMon Plugin

Post by ailia »

Dreossk wrote:Still 0 everywhere :( I see the variables are still in english, is that normal? I changed them but the same problem persists, there is a "name" variable and I don't have an equivalent for that in Perfmon.
"name" is just an internal reference to display the instance name rather than one of its counters, so requires no change regardless of language.
ailia
Posts: 34
Joined: August 6th, 2012, 9:56 pm
Location: Lurking

Re: New PerfMon Plugin

Post by ailia »

Okay, that Didn't work either, looking like something is either documented incorrectly or horribly broken with performance counters in foreign-only windows builds. Don't have a ton of time to dig into this right now, but I'll try to get this sorted before newyears.
User avatar
Yincognito
Rainmeter Sage
Posts: 7017
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: New PerfMon Plugin

Post by Yincognito »

ailia wrote:Okay, that Didn't work either, looking like something is either documented incorrectly or horribly broken with performance counters in foreign-only windows builds. Don't have a ton of time to dig into this right now, but I'll try to get this sorted before newyears.
Hm...maybe. What I noticed - I hope that I remember this correctly - is that sometimes, even if the registry key you're probably querying says otherwise, those files in system32 folder "enforce" other stuff being valid as counter names. While I was testing the issue a while ago, I made the skin automatically looking for counter names "translations" in the registry key which corresponds to the "current language" and it turned out that some of them weren't working, although correctly spelled and all. So you might want to explore how those system32 files fit "in the mix".

My info on those files came from here (the last "bullet" in the list). Those files exist in my Windows 7+ installations as well, although that Microsoft article is obviously outdated.

Bottom line: during my tests, some of the "foreign language" counter/category names were "recognized", while others weren't. Never really understood why - all of them should have been valid. For example, words like 'Memoire' (French for 'memory') were "recognized" (aka the log error message didn't show up when using it), but words like 'Processus' (French for 'process') weren't (aka the log error message showed up).

Maybe this would help you a bit in identifying/hopefully solve the issue...
DoTheEvo
Posts: 3
Joined: January 14th, 2016, 6:21 pm

Re: New PerfMon Plugin

Post by DoTheEvo »

Image

How would one show top 5 process by cpu load
the name of the process, the cpu load and also ultimatly their RAM consumption?
Can it be done with this plugin?
I am coming from linux - conky(thats in the picture) and I am trying to setup similarly ranimeter, since I got used to that info
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5380
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA
Contact:

Re: New PerfMon Plugin

Post by eclectic-tech »

DoTheEvo wrote:Image

How would one show top 5 process by cpu load
the name of the process, the cpu load and also ultimatly their RAM consumption?
Can it be done with this plugin?
I am coming from linux - conky(thats in the picture) and I am trying to setup similarly ranimeter, since I got used to that info
Yes...
Play with this skin to get some ideas...
mempro.png
The package will install the needed 3rd party nomferp.dll plugin and has 7 different memory displays.
Shown above are the workingsetpercent-R.ini and workingset.ini; they show top 10 cpu/mem, and a line chart rather than bar meters, but feel free to modify any way you want...
Attachments
MemPro_0.3.rmskin
(43.06 KiB) Downloaded 118 times
DoTheEvo
Posts: 3
Joined: January 14th, 2016, 6:21 pm

Re: New PerfMon Plugin

Post by DoTheEvo »

Thanks but unfortunately it does not seem helpful.
The problem is that its centered around the mem solely.
I dont see some use of combo in it that would lead me to what I want.

which is top 5 processes by their cpu load, but to have also info about those 5 processes ram usage

so if VLC eats 16% of the cpu and would reach top 5, i would also see how much ram that VLC process eats.

in conky that picture above would look somewhat like this in its core.

Code: Select all

${top name 1}${top cpu 1}${top mem_res 1}
${top name 2}${top cpu 2}${top mem_res 2}
${top name 3}${top cpu 3}${top mem_res 3}
${top name 4}${top cpu 4}${top mem_res 4}
${top name 5}${top cpu 5}${top mem_res 5}
top <what_you_want> <Nth process number>

the top always gives processes ordererd by cpu ( theres also top_mem and top_io)
and it gives you various info of those processes, their name, their cpu load, various mem consumptions, IO, pid, uid,... and its always about that specific process which is Nth in the order of processes by cpu load.

you see, in this system its easy to get mem consumption of 4th process. But I have harder time here in rainmeter
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: New PerfMon Plugin

Post by jsmorley »

So something like this?
1.jpg
TopCPUMem_1.0.rmskin
(13.26 KiB) Downloaded 312 times

Code: Select all

[Rainmeter]
Update=1000
DynamicWindowSize=1
AccurateText=1

[Variables]
Filter="_Total|Idle|dwm|wmpnetwk|csrss|svchost|lsass|System"

[TopCPU]
Measure=Plugin
Plugin=Plugins\NomFerp.dll
Order=% Processor Time
Mode=Difference
Filter=#Filter#
UpdateDivider=2

; =====================
; Instance 1
; =====================

[TopName1]
Measure=Plugin
Plugin=Plugins\NomFerp.dll
ParentName=TopCPU
Counter=name
Instance=1
RegExpSubstitute=1
Substitute="(?siU)(.*)#.*$":"\1"

[TopCPU1]
Measure=Plugin
Plugin=Plugins\NomFerp.dll
ParentName=TopCPU
Counter=% Processor Time
Mode=DifferenceTotalPercent
Instance=1

[TopMem1]
Measure=Plugin
Plugin=Plugins\NomFerp.dll
ParentName=TopCPU
Counter=Working Set - Private
Mode=Normal
Instance=1

; =====================
; Instance 2
; =====================

[TopName2]
Measure=Plugin
Plugin=Plugins\NomFerp.dll
ParentName=TopCPU
Counter=name
Instance=2
RegExpSubstitute=1
Substitute="(?siU)(.*)#.*$":"\1"

[TopCPU2]
Measure=Plugin
Plugin=Plugins\NomFerp.dll
ParentName=TopCPU
Counter=% Processor Time
Mode=DifferenceTotalPercent
Instance=2

[TopMem2]
Measure=Plugin
Plugin=Plugins\NomFerp.dll
ParentName=TopCPU
Counter=Working Set - Private
Mode=Normal
Instance=2

; =====================
; Instance 3
; =====================

[TopName3]
Measure=Plugin
Plugin=Plugins\NomFerp.dll
ParentName=TopCPU
Counter=name
Instance=3
RegExpSubstitute=1
Substitute="(?siU)(.*)#.*$":"\1"

[TopCPU3]
Measure=Plugin
Plugin=Plugins\NomFerp.dll
ParentName=TopCPU
Counter=% Processor Time
Mode=DifferenceTotalPercent
Instance=3

[TopMem3]
Measure=Plugin
Plugin=Plugins\NomFerp.dll
ParentName=TopCPU
Counter=Working Set - Private
Mode=Normal
Instance=3

; =====================
; Instance 4
; =====================

[TopName4]
Measure=Plugin
Plugin=Plugins\NomFerp.dll
ParentName=TopCPU
Counter=name
Instance=4
RegExpSubstitute=1
Substitute="(?siU)(.*)#.*$":"\1"

[TopCPU4]
Measure=Plugin
Plugin=Plugins\NomFerp.dll
ParentName=TopCPU
Counter=% Processor Time
Mode=DifferenceTotalPercent
Instance=4

[TopMem4]
Measure=Plugin
Plugin=Plugins\NomFerp.dll
ParentName=TopCPU
Counter=Working Set - Private
Mode=Normal
Instance=4

; =====================
; Instance 5
; =====================

[TopName5]
Measure=Plugin
Plugin=Plugins\NomFerp.dll
ParentName=TopCPU
Counter=name
Instance=5
RegExpSubstitute=1
Substitute="(?siU)(.*)#.*$":"\1"

[TopCPU5]
Measure=Plugin
Plugin=Plugins\NomFerp.dll
ParentName=TopCPU
Counter=% Processor Time
Mode=DifferenceTotalPercent
Instance=5

[TopMem5]
Measure=Plugin
Plugin=Plugins\NomFerp.dll
ParentName=TopCPU
Counter=Working Set - Private
Mode=Normal
Instance=5

; =====================
; Meters
; =====================

[MeterBackground]
Meter=Image
W=312
H=155
SolidColor=47,47,47,255

[MeterNameTitle]
Meter=String
X=10
Y=10
StringAlign=Left
FontSize=12
FontColor=159,230,138,255
SolidColor=0,0,0,1
AntiAlias=1
Text=NAME

[MeterCPUTitle]
Meter=String
X=190
Y=0r
StringAlign=Right
FontSize=12
FontColor=159,230,138,255
SolidColor=0,0,0,1
AntiAlias=1
Text=CPU%

[MeterMemTitle]
Meter=String
X=300
Y=0r
StringAlign=Right
FontSize=12
FontColor=159,230,138,255
SolidColor=0,0,0,1
AntiAlias=1
Text=MEM

[MeterLine]
Meter=Image
X=10
Y=5R
W=290
H=1
SolidColor=159,230,138,255

[MeterTopName1]
Meter=String
MeasureName=TopName1
X=10
Y=10R
FontSize=12
FontColor=252,124,124,255
SolidColor=0,0,0,1
StringCase=Proper
AntiAlias=1

[MeterTopCPU1]
Meter=String
MeasureName=TopCPU1
X=190
Y=0r
StringAlign=Right
FontSize=12
FontColor=252,124,124,255
SolidColor=0,0,0,1
NumOfDecimals=2
AntiAlias=1
Text=%1%

[MeterTopMem1]
Meter=String
MeasureName=TopMem1
X=300
Y=0r
StringAlign=Right
FontSize=12
FontColor=252,124,124,255
SolidColor=0,0,0,1
NumOfDecimals=1
AutoScale=1
AntiAlias=1
Text=%1B

[MeterTopName2]
Meter=String
MeasureName=TopName2
X=10
Y=5R
FontSize=12
FontColor=255,255,255,255
SolidColor=0,0,0,1
StringCase=Proper
AntiAlias=1

[MeterTopCPU2]
Meter=String
MeasureName=TopCPU2
X=190
Y=0r
StringAlign=Right
FontSize=12
FontColor=255,255,255,255
SolidColor=0,0,0,1
NumOfDecimals=2
AntiAlias=1
Text=%1%

[MeterTopMem2]
Meter=String
MeasureName=TopMem2
X=300
Y=0r
StringAlign=Right
FontSize=12
FontColor=255,255,255,255
SolidColor=0,0,0,1
NumOfDecimals=1
AutoScale=1
AntiAlias=1
Text=%1B

[MeterTopName3]
Meter=String
MeasureName=TopName3
X=10
Y=5R
FontSize=12
FontColor=255,255,255,255
SolidColor=0,0,0,1
StringCase=Proper
AntiAlias=1

[MeterTopCPU3]
Meter=String
MeasureName=TopCPU3
X=190
Y=0r
StringAlign=Right
FontSize=12
FontColor=255,255,255,255
SolidColor=0,0,0,1
NumOfDecimals=2
AntiAlias=1
Text=%1%

[MeterTopMem3]
Meter=String
MeasureName=TopMem3
X=300
Y=0r
StringAlign=Right
FontSize=12
FontColor=255,255,255,255
SolidColor=0,0,0,1
NumOfDecimals=1
AutoScale=1
AntiAlias=1
Text=%1B

[MeterTopName4]
Meter=String
MeasureName=TopName4
X=10
Y=5R
FontSize=12
FontColor=255,255,255,255
SolidColor=0,0,0,1
StringCase=Proper
AntiAlias=1

[MeterTopCPU4]
Meter=String
MeasureName=TopCPU4
X=190
Y=0r
StringAlign=Right
FontSize=12
FontColor=255,255,255,255
SolidColor=0,0,0,1
NumOfDecimals=2
AntiAlias=1
Text=%1%

[MeterTopMem4]
Meter=String
MeasureName=TopMem4
X=300
Y=0r
StringAlign=Right
FontSize=12
FontColor=255,255,255,255
SolidColor=0,0,0,1
NumOfDecimals=1
AutoScale=1
AntiAlias=1
Text=%1B

[MeterTopName5]
Meter=String
MeasureName=TopName5
X=10
Y=5R
FontSize=12
FontColor=255,255,255,255
SolidColor=0,0,0,1
StringCase=Proper
AntiAlias=1

[MeterTopCPU5]
Meter=String
MeasureName=TopCPU5
X=190
Y=0r
StringAlign=Right
FontSize=12
FontColor=255,255,255,255
SolidColor=0,0,0,1
NumOfDecimals=2
AntiAlias=1
Text=%1%

[MeterTopMem5]
Meter=String
MeasureName=TopMem5
X=300
Y=0r
StringAlign=Right
FontSize=12
FontColor=255,255,255,255
SolidColor=0,0,0,1
NumOfDecimals=1
AutoScale=1
AntiAlias=1
Text=%1B
I didn't work a lot on cosmetics. You might want to set a W and H for the "name" meters and use ClipString=1 so long names don't overrun the space. The cosmetics in Rainmeter are a bit more involved than in conky.

But then again, the power and flexibility of Rainmeter is why we get "someone please port this to linux!" about once a week... ;-)

This could certainly be extended to show other information, I would suggest opening up Perfmon.exe in Windows and taking a look at all the counters that are available by "process name". There are quite a few. Once you know what counters you want, you just have to get them with NormFerp and build new meters to show them.
2.jpg
1.jpg
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5380
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA
Contact:

Re: New PerfMon Plugin

Post by eclectic-tech »

My bad {memory} ... @JSMorley: Thanks for jumping in with a CPU/Mem example! :)
Post Reply