The system tracks this for you. Why not use that? Look at procpsinfo
and lwpsinfo which DTrace makes available. man -s 4 proc describes the
contents of these as well as others.

Jim
---

Benjamin Smedberg wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> I've done some google searches but haven't found an example script for how
> to record the amount of CPU time used by a process.
>
> I'm trying to profile a build system by tracing how many and what kinds of
> processes are started. I want to record the following information about
> every process within a process tree:
>
> real start time
> real end time
> CPU time used
> working directory
> executable
> command line (argv)
>
> Collecting the real start time/end time/cwd/exectable is fairly simple, I
> think I've got it.
>
> I was thinking that CPU time could be calculated by using vtimestamp:
>
> collect the vtimestamp at the start and the end of each LWP, and total them
> to get the CPU time for the process. However, I'm having trouble with the
> proc:::lwp-start probe: it seems to fire in the context of the parent
> process, not in the context of the new thread that's starting:
>
> bsmedberg $ sudo dtrace -s ../process-tree.d -q 32254
> proc:::lwp-start
>   pid: 32254
>   tid: 111341864
>   vtimestamp: 96036509
> proc:::create
>   pid: 32254
>   args[0]->pr_pid: 43113
> proc:::lwp-create
>   pid: 32254
>   tid: 111341864
>   args[1]->pr_pid: 73060628
>   args[0]->pr_lwpid: 74125832
>   vtimestamp:  95792715
> proc:::exec-success
>   pid: 43113
>   ppid: 32254
>   cwd: obj
>   curpsinfo->pr_fname: cat
> proc:::exit
>   pid: 43113
> proc:::lwp-exit
>   pid: 43113
>   tid: 74125832
>   vtimestamp: 3361917
>
> This means I can't simply use lwp-start and lwp-exit and do vtimestamp math,
> because the vtimestamp of the lwp-create probe is the vtimestamp of the
> shell thread, not the new thread!
>
> Does anyone have an example script or suggestion how to record the amount of
> CPU time a process uses?
>
> Note: This is MacOS.
>
> - --BDS
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.5 (Darwin)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iD8DBQFJIZ5WSSwGp5sTYNkRAhlnAJ9hMuv00eCD6DSWYFy8BMNPHxTGqgCg4nLa
> y3C4zIILmCKS/SFoxjZdUX4=
> =R4OP
> -----END PGP SIGNATURE-----
> _______________________________________________
> dtrace-discuss mailing list
> dtrace-discuss@opensolaris.org
>
>   

_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Reply via email to