Re:Non-priv way to collect job stats under Intel?
Re:Non-priv way to collect job stats under Intel?
- Subject: Re:Non-priv way to collect job stats under Intel?
- From: Jeffrey Johnson <email@hidden>
- Date: Wed, 2 Aug 2006 10:01:15 -0400
On 8/1/06 at 1:24 PM, email@hidden (Peter Bierman) wrote:
>> >Assuming that you're willing to accept the stipulation that you can
>> >only look at your own processes, what sorts of information about said
>>>processes would you expect/want such an API to provide? To put it
>>>another way, if you could have your idea "process inspection API",
>>>what would might it look like?
>>
>>Ideally, given a pid, I'd like an API returning the following ps
>>values in a struct:
>>
>>%cpu %mem command lim lstart nice ppid pri sl state time uid xstat
>>
>>To solve my immediate problem, I'd settle for
>>
>>lstart state time xstat
>
>
>Does sysctl on kern.proc work for this? (See the example in the
>sysctl 3 man page.)
>
>I grabbed some source described here:
>http://ezine.daemonnews.org/200205/sysctl-netbsd.html
>
>I had to change some "struct proc" declarations to "struct
>extern_proc", but then it compiles. Running it against my local user
>didn't correctly sum up my CPU usage, but it did correctly count my
>processes.
Thanks for the link.. but I encountered the same result, it didn't return the CPU usage (just
zeros), so I wonder if it suffers from the same "can't get stats from a running process" limitation
as getrusage(). I pulled it into gdb and looked at the extern_proc p_rtime and p_cputicks fields.
(Heck, I showed the whole struct and every time-like field was empty except __p_starttime.)
This code looks familiar- I think I tried sysctl() for times on PPC long ago and then had to go to
task_from_pid() to get real answers. :-).
Thanks
Jeffrey Johnson
Macintosh Development
Wavefunction, Inc.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden