> To All (This is mainly for the Mac DTrace 3, Adam Leventhal, Bryan  
> Cantrill, Mike Shapiro)..
>   
We appreciate your desire to go to the source. It's a lot like posting a 
question on
relativity, and indicating you'd really like an answer from Einstein.... :^)

That said, there's great news - the DTrace community is growing all the 
time,
and there are many, many DTrace experts that can help. So Brian, Mike and
Adam (and Eric, and Brendan, and Jon), can spend more time catching up
on People magazine, tracking alien landings in the National Enquirer, and
playing FishPong....

:^)
>  From what I have learned from DTrace is that you can monitor the  
> system calls of either the OS probes or individual processes.  
Let's start with terminology here. Systems calls are not issued by the 
OS - application
processes (threads) issue system calls to enter the OS for a privileged 
operation (e.g.
open a file). Please clarify what you mean by "OS probes" - are you 
referring to DTrace
probes, or OS X IOKit probes?

Are you interested in dtrace'ing dtrace?

I'm not breaking your you-know-whats....I'm sincerely interested in 
making sure
we agree on terminology. The notion of "OS probes" issuing system calls 
is not
clear to me.
> Also,  
> on the Mac you are able to monitor Objective-C calls by specifying an  
> individual Cocoa application.  For my particular project I need to  
> track 3 tasks:  when any arbitrary application accesses a file, when  
> any web page is accessed, and when any mail client assesses an email.   
> My knowledge of DTrace tells me that I need to create probes for every  
> application that can do these three types of tasks.  Is there another  
> approach that does not need to know every type of application or  
> process that can do these 3 tasks?
>   
"... any arbitrary application accesses a file" - Are you interested in 
tracking access
to one specific file by any possible process?

I assume the machine you're monitoring is running a WEB server, and an 
email server?

There's a couple ways to do this, depending somewhat on your configuration.
For tracking access to a file, you can use the system call provider and 
a predicate
on arg0, which is a pointer to a pathname string.

For the second two items, I'd start with monitoring the httpd process 
and mail server
process with the syscall provider to determine the syscall path to the 
patterns you're
interested in. Once you've established that, you can whittle all this 
down to a
relatively simple script that does what you want. Make sense?

(In case it does not) - In other words, as a general methodology, I 
sometimes use
dtrace to get a broad view of what a particular application process is 
doing, e.g.
grab a system call profile of a httpd process, to establish the specific 
calls (and, in
some cases, args) used when something of interest is happening (e.g. 
accessing
a static WEB page). From there I use that information to create a dtrace 
script
that is intended to hone-in on that particular flow of activity.

HTH,
/jim


> I appreciate any feedback one could give.
>
> Thanks in advanced,
>
> Blake
> _______________________________________________
> dtrace-discuss mailing list
> dtrace-discuss@opensolaris.org
>   
_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Reply via email to