PerfMonG - Minimalistic Performance Monitor for Windows
I was rummaging through the contents of my hard drive and I found PerfMonG - a minimalistic performance monitor that I wrote sometime back in 2004. At the time I wanted something like GKrellM on my Windows box, so I created one myself. I admit, GKrellM is better, more configurable, supports skins and etc. I didn’t really need all of that. What I wanted was an app which would display my CPU usage, free RAM, swap usage, free hard drive space, number of running processes, uptime, and free HD space.
It’s nothing special, but it works. It has a small memory footprint, it runs in the background most of the time and doesn’t get in your way. Of course if you are really hard core about displaying useful info on your desktop, Samurize is probably a better application. But if you just want something quick and simple, check out PerfMonG.
I created a Google Code page for it, uploaded all the source to subversion there. You can also download a rar file with all the code from the downloads section.
PerfMonG is a Windows only application written in C#. Any bug reports, patches and contributions would be greatly appreciated. I haven’t really touched this code since 2004 - with an exception for a quick cleanup before it got uploaded. But if someone out there likes it, or finds it useful, I’ll get back and continue developing it.
Related Posts:

June 4th, 2007 at 10:29 am (4667) [Quote]
Wow that’s pretty cool!! I love performance monitor programs used a ton of them over the years. haha. I will check it out, but I guess I give up on windows. I still dual boot but I just don’t ever use windows anymore. It’s just a waste of my HD space. I do plan on boot into it some time soon and updating several programs tho, I’ll download and install your program then. the minimalism appeals to me and it looks about as functional as what i am currently using and I’m hoping it has a smaller footprint. haha.
I had to laugh over the comment in your code FAQs
Yep my thoughts exactly!
Posted usingJune 4th, 2007 at 5:04 pm (4672) [Quote]
I would make my “not-touching-Vista-with-it” pole longer than 10 feet… maybe 50 feet, and it’d have to be that long before I start not touching Vista with it
On a more relevant note, would I need to do anything with the code to make it run or does Windows know what to do with C#
What am I saying.. of course it won’t, I’ll rephrase that - what do I need to do to make the code into something I can click on and run?
Posted usingJune 4th, 2007 at 5:45 pm (4673) [Quote]
Matt, I haven’t even got around to trying it yet….but there is a setup installation file on luke’s perfmong code page, look under featured download!! Download that and then start it as usual for windows installation. That should install his program for ya. You may also want to look at the FAQ under Featured Wiki Pages. As far as I know that should be all there is too it. haha. As to making the code itself work, well ya need a compiler. lmao.
Posted usingJune 4th, 2007 at 5:49 pm (4675) [Quote]
Matt, the setup.exe file will install a compiled working version that can be clicked and run.
If you want to compile to code you will probably need the .NET sdk which will include a C# compiler.
I used Microsoft Visual Studio so the code is actually a Visual Studio project. I think you just need to open the .csproj file and the IDE will know what to do with all of it.
Posted usingJune 4th, 2007 at 5:50 pm (4676) [Quote]
Forgot to remind ya you will need the .NET Framework. Luke says that on his code page and you probably already have it as alot of programs need it. If not Luke was kind enuff to provide a download link. install that first if ya don’t have it. good luck.
And luke if I’m wrong just tell me I am an idiot
But I’m pretty sure I’m right. lmao!!
Posted usingJune 5th, 2007 at 12:10 am (4679) [Quote]
Starhawk, you are correct - .NET should be all that’s needed to run the app.
Posted usingJune 7th, 2007 at 4:50 pm (4715) [Quote]
i downloaded the source and it runs great on XP.
If i was building this the only two additions i would make would be
a) Ability to move the forum just by clicking on it and dragging it.
b) maybe a “user specified” threshold for the CPU activity to change the color from blue to red. I think you have it hard-coded for 70% utilization, allowing the user to set their preference would be cool.
Listen to me QA a 4 year old tinker app! lol ITS GREAT DONT CHANGE A THING (i will if i have time)
Posted usingJune 7th, 2007 at 5:19 pm (4716) [Quote]
Great suggestions. The threshold thing should be trivial to add. Changing position by dragging might be bit more complicated because I’m essentially using a borderless window and I think usually the dragging events are triggered by clicking on a window border. It might require bit more effort to implement this.
Btw, could you post these suggestions under the Issues tab on the project website? Best make it two issues/feature requests so I can check them off independently as they are implemented.
Also, if you implement any functionality yourself, I would love if you sent in a patch (or barring that just a zip/rar/tar with the modified code). If you do, make sure you put your name in the comments somewhere so that you can get the credit for the alterations. I’ll also credit you on the front page.
Thanks!
Posted usingJune 7th, 2007 at 6:55 pm (4718) [Quote]
i made it draggable (well me and an example from codeproject did so)
i have a zip for you but i dont know where to send it to!
Also my email address is the same as my Google acct so if you want you can add me to the project and i can uplaod it via subversion.
thanks,
Posted usingmcm
June 7th, 2007 at 8:13 pm (4720) [Quote]
Awesome! I didn’t even get around to look at it yet.
Does it automatically update the values in the Properties panel when you do it?
Can you post a comment under the Issue and attach a file to it? That would probably be the easiest way to do this now.
Either that, or you can email it to me. I have my email posted on the Contact Me page.
Once again - awesome! Thanks for the help!
Posted usingJune 8th, 2007 at 2:41 am (4725) [Quote]
Mile! Thanks for all the help!
I integrated your changes and created a new release. Version 0.2.3 can now be dragged, asks you to save the config on exit, and doesn’t crash if the folder in %APPDATA% is not present.
There is a new installer and code rar in the downloads section.
Also, you can still check out 0.2.1 or 0.2.3 from SVN by going to
http://perfmong.googlecode.com/svn/tags/release_0.2.1/
http://perfmong.googlecode.com/svn/tags/release_0.2.3/
instead of the trunk.
Posted usingJune 8th, 2007 at 10:05 am (4728) [Quote]
Cool! Thats great.
There is one more little thing that’s “buggin” me still!
If you open properties., Change opacity or a colour, only hit “Apply” then re-open properties it obtains the old values for the colours and opacity slider. I dont know if i caused this by destroying the props object and re-creating it or if its historical. However there are two ways we can go about fixing it.
1. Re-write the config values for the alpha, color, etc back to config before calling the props dialogue.
2. Remove the “Save Config Changes” and have the “Apply” button actually write to config when you press it
i personally like solution 2 better because it seems more elegant. and i mean, if someone hits “Apply” chances are they want those changes to stick. Even next time!
thanks,
Posted usingmcm
June 8th, 2007 at 11:55 am (4732) [Quote]
Oops, it might be new.
I don’t remember. But yes, either solution sounds reasonable. Feel free to play around with it. If not, I’ll try to knock it out when I get home today.
Btw, what do you use for SVN on windows? I use Tortoise SVN. If you right click on a folder you checked out it will let you to create a patch - it’s one of the options there. It might be easier to just generate a patch and submit it, rather than attach multiple source files.
Also, I want to put your name on the front page as a contributor. Should I just credit you as Mike? Do you want me to put your last name or nickname there? How about a URL? Let me know. I just don’t want to put your email out there in plain text.
Posted usingJune 8th, 2007 at 12:13 pm (4733) [Quote]
you can credit me as
Posted usingmcmcom
June 8th, 2007 at 12:15 pm (4734) [Quote]
werid, my post was cut off
Credits :
mcmcom (www.mustcodemore.com)
i have tortoisesvn and will do the patch stuff via that.
i will also try to remove the write config button and incorporate it into the apply button to fix the outstanding issue over the weekend.
thanks,
Posted usingmcm
June 9th, 2007 at 1:23 am (4737) [Quote]
Awesome! I credited you on the front page, and uploaded the patch you submitted. I really appreciate all the help.
I can’t tell you how awesome it is to find out that my old, half-forgotten little project actually got a second wind, and is now in active development (well, sort of).
Posted usingJune 22nd, 2007 at 3:36 pm (4921) [Quote]
Hi Luke,
Well its friday. I should be working but instead i submitted another issue with the PerfMonG app and then submitted a patch that will fix it. That killed 30 minutes. 1.5 hours to go
mcm
Posted usingJune 22nd, 2007 at 5:08 pm (4922) [Quote]
Dude! You rule!
I will test it tonight.
Btw, you could have submitted the patch as a “reply” to issue #5. Also, when you create an issue, if you put maciakl in the CC or the Owner field, I will get shot an instant email about it.
I really appreciate all this help.
Posted usingJune 22nd, 2007 at 5:24 pm (4923) [Quote]
No problem about the help. As i said in my earlier post, i was bored at work and messing around with side projects only helps me stay slightly sharper than dull.
In future i will add patches as replies, i didn’t even see the add comment link on there.
i wonder if we can do dual cpu monitoring….;)
Posted usingJune 22nd, 2007 at 7:24 pm (4924) [Quote]
Actually, it doesn’t have a reply button - just a text field on the bottom. If you click on it, it opens up with more options and additional text fields. It’s the same concept like replies in Gmail.
It’s kinda funky, but it works.
Btw, I don’t think I ever even considered doing dual screen, or dual CPU monitoring when I started writing this app.
I added dual CPU monitoring as a feature request. I don’t have a dual CPU machine to test it on, but if you do, and you can implement it then it would be awesome.
Posted usingJune 22nd, 2007 at 7:34 pm (4925) [Quote]
i do have a couple dual cpu machines. ill look into it. If you look at a win task mgr on a dual cpu box you will see that the cpu usage is a single percentage (same thing that you have) however they do provide two graphs for it on a dual cpu machine. So there must be something else that is monitoring each separately.
ill investigate it sometime this week if im not too busy and let you know my findings.
thanks,
Posted usingmcm
June 22nd, 2007 at 9:02 pm (4926) [Quote]
Awesome. I applied the patch and chucked it into the repository as release_0.2.5_candidate branch. I’ll merge it with HEAD and roll a release bit later.
If you get the dual CPU stuff working, I will include it also and just increment the major version to 0.3.0.
Posted usingJune 23rd, 2007 at 2:22 am (4927) [Quote]
Just a heads up - I added the editable CPU tresholds (Issue 2) in the 0.2.5 release candidate. So if you want the freshest code, please check out from:
http://perfmong.googlecode.com/svn/branches/release_0.2.5_candidate/
rather than from trunk. I haven’t had a chance to test it throughly so that’s why the code is in the branch. I will probably merge it to trunk over the weekend. But for now, work of the branch - it will be easier to merge all these things later.
Posted usingJune 26th, 2007 at 10:20 am (4945) [Quote]
[…] If you are to lazy to click any links, and you have no clue what I’m talking about, let me explain. PerfMonG is my small open source project - a minimalistic performance monitor for windows written in .NET. I mentioned it once before. If you are a windows user, or a .NET programmer definitely check it out, and contribute if you can. tags: PerfMonG, performance monitor, cpu monitor, google code, perfmong 0.2.5 […]
Posted using