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