Hey Eric,

> to see which ones are dtrace related. As expected, dtrace_nprobes & 
> dtrace_probes aren't in the list. I didn't see anything that looked 
> promising, but perhaps someone else may be able to spot something.

Very interesting, but it looks like Apple is doing something cagey
with kernel symbols:

# dtrace -n BEGIN'{ trace(`dtrace_probe); }'
dtrace: description 'BEGIN' matched 1 probe
dtrace: error on enabled probe ID 1 (ID 1: dtrace:::BEGIN): invalid
alignment (0xffffff80004de015) in action #1 at DIF offset 4

> I am wondering...let's say I did see something that looked promising, how 
> would I go about determining the structure? How would I know that I could do 
> <some var>->something and see some meaningful data? How might someone who 
> didn't already know, know that dtpr_name was part of dtrace_probes[i] - i.e. 
> that one could do `dtrace_probes[i]->dtpr_name? Is the only way by inspecting 
> the kernel code itself or is thing kind of thing documented somewhere?

I'm doing this by looking at the illumos source code at
http://src.illumos.org/. I knew that dtrace_probes and dtrace_nprobes
were the relevant variables (from my part in developing DTrace), but
you might have been able to figure that out by looking at the code for
dtrace_probe():

http://src.illumos.org/source/xref/illumos-gate/usr/src/uts/common/dtrace/dtrace.c#5610

/*
 * If you're looking for the epicenter of DTrace, you just found it.  This
 * is the function called by the provider to fire a probe -- from which all
 * subsequent probe-context DTrace activity emanates.
 */
void
dtrace_probe(dtrace_id_t id, uintptr_t arg0, uintptr_t arg1,
    uintptr_t arg2, uintptr_t arg3, uintptr_t arg4)
{
...

In there you can find the variable dtrace_probes and dtrace_nprobes,
and click through to find their datatypes and those type definitions.

Adam

-- 
Adam Leventhal, Delphix
http://dtrace.org/blogs/ahl

275 Middlefield Road, Suite 50
Menlo Park, CA 94025
http://www.delphix.com
_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Reply via email to