Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Writing Windows performance counters

Reply
Thread Tools

Writing Windows performance counters

 
 
David Mitchell
Guest
Posts: n/a
 
      02-09-2004
Hello group,

I'm trying to write code to test an application we're developing. This
application needs to store its own performance data in the registry, and
we'd like to be storing quite a large amount of performance data and
updating it fairly quickly. Not surprisingly, we keep coming up with more
and more performance data we'd like to be writing to the registry.

My job is to come up with a test harness to establish the following:
- create X new Windows performance counters and update each of them every
Y milliseconds with some (random) value

I then need to try this for various values of X and Y, and note how the
performance of the overall application/system drops off as we increase X
and Y. We'll then draw a line in the sand and say "X and Y must be less
than these values", and go forward from there.

Could someone point me towards some sample code that creates performance
counters and updates them? I suspect it's possible using perfmondata.dll
that comes with win32all, but can't begin to guess how to get started.

Thanks in advance

Dave M.
 
Reply With Quote
 
 
 
 
Mike C. Fletcher
Guest
Posts: n/a
 
      02-09-2004
If you've installed Mark's win32all packages, look in your win32/lib
directory for win32pdhutil and win32pdhquery, as well as
win32/scripts/killProcName.py .

HTH,
Mike

David Mitchell wrote:
....

>Could someone point me towards some sample code that creates performance
>counters and updates them? I suspect it's possible using perfmondata.dll
>that comes with win32all, but can't begin to guess how to get started.
>
>

....
_______________________________________
Mike C. Fletcher
Designer, VR Plumber, Coder
http://members.rogers.com/mcfletch/



 
Reply With Quote
 
 
 
 
Mark Hammond
Guest
Posts: n/a
 
      02-09-2004
David Mitchell wrote:

> Could someone point me towards some sample code that creates performance
> counters and updates them? I suspect it's possible using perfmondata.dll
> that comes with win32all, but can't begin to guess how to get started.


I thought there was sample code in win32all, but it looks like it never
got created - but 1/2 of it is there.

The win32\demos\service\install directory has a .h and a .ini file that
are used by Windows itself when installing the perfmon data.

Somewhere, your runtime code should implement code similar to:

counters = [] # Empty list to fill with counters.

# Counter of document opens.
# Magic numbers (2, 4, 6) must match header and ini file used
# at install - could lookup ini, but then I'd need it at runtime
counterSomething=perfmon.CounterDefinition(2)
counterSomething.DefaultScale = 1
counters.append(counterSomething)

counterSomethingElse=perfmon.CounterDefinition(4)
counterSomethingElse.DefaultScale = 1
counters.append(counterDocSave)

perfObjectType = perfmon.ObjectType(counters)

# end of sample

The magic numbers must match the .h and .ini (which is a requirement of
Windows, not us!) Once the above code has been run, 'counterSomething'
and 'counterSomethingElse' can have their 'Increment' method called, to
increment the counter.

Note that I don't try and hide the win32 gory details here, so you
really must read the MS documentation on this complicated mechanism.

Let me know if you would like any help. A very useful thing to do would
be to create a sub-class of the existing demo service, with the subclass
doing nothing other than providing the perfmon data. This was always my
intent. If you have trouble getting it going, providing the above as
sample code to demonstrate your problem would get a good response

Mark.

 
Reply With Quote
 
Saravanan D
Guest
Posts: n/a
 
      02-18-2004
Examples which are given the OReilly site (Python Win32 Programming) does
not work properly. Could you please help me on that.

Saravanan D
"Mark Hammond" <(E-Mail Removed)> wrote in message
news:c074fa$2shp$(E-Mail Removed)...
> David Mitchell wrote:
>
> > Could someone point me towards some sample code that creates performance
> > counters and updates them? I suspect it's possible using

perfmondata.dll
> > that comes with win32all, but can't begin to guess how to get started.

>
> I thought there was sample code in win32all, but it looks like it never
> got created - but 1/2 of it is there.
>
> The win32\demos\service\install directory has a .h and a .ini file that
> are used by Windows itself when installing the perfmon data.
>
> Somewhere, your runtime code should implement code similar to:
>
> counters = [] # Empty list to fill with counters.
>
> # Counter of document opens.
> # Magic numbers (2, 4, 6) must match header and ini file used
> # at install - could lookup ini, but then I'd need it at runtime
> counterSomething=perfmon.CounterDefinition(2)
> counterSomething.DefaultScale = 1
> counters.append(counterSomething)
>
> counterSomethingElse=perfmon.CounterDefinition(4)
> counterSomethingElse.DefaultScale = 1
> counters.append(counterDocSave)
>
> perfObjectType = perfmon.ObjectType(counters)
>
> # end of sample
>
> The magic numbers must match the .h and .ini (which is a requirement of
> Windows, not us!) Once the above code has been run, 'counterSomething'
> and 'counterSomethingElse' can have their 'Increment' method called, to
> increment the counter.
>
> Note that I don't try and hide the win32 gory details here, so you
> really must read the MS documentation on this complicated mechanism.
>
> Let me know if you would like any help. A very useful thing to do would
> be to create a sub-class of the existing demo service, with the subclass
> doing nothing other than providing the perfmon data. This was always my


> intent. If you have trouble getting it going, providing the above as
> sample code to demonstrate your problem would get a good response
>
> Mark.
>



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Performance Counters not working from ASP.NET Brian Newtz ASP .Net 0 12-13-2004 04:18 PM
Performance counters Dmitry Duginov ASP .Net 5 12-07-2004 12:58 AM
Re: ASP.NET Performance Counters are all zero ... ? Michael Carr ASP .Net 4 01-12-2004 04:30 PM
Re: ASP.NET Performance Counters are all zero ... ? Michael Carr ASP .Net 0 01-09-2004 03:15 AM
.NET Clr Data performance counters Erik Cruz ASP .Net 0 10-27-2003 02:08 PM



Advertisments