architecture paper draft
Martin Hunt
hunt@redhat.com
Fri Jan 28 20:29:00 GMT 2005
>
> probe
> : probe_specifier body;
>
> probe_specifier
> : "probe" instrumentation_scheme
> ;
>
> instrumentation_scheme
> : systemtap
> | kernel_function_boundaries
> ;
>
> systemtap
> : /* What is run before the dynamic probes are inserted */
> "systemtap" "." "init"
> | /* What is run after the instrumentation is removed */
> "systemtap" "." "fini"
> ;
>
> kernel_function_boundary
> : "kernel" "." function_list
> ;
I have something very similar. However, I don't see a way in your
language to specify probe locations within a function. For example,
/* set a probe on function entry */
probe kernel.sys_write:entry { statements }
/* set a probe on function exit */
probe kernel.sys_write:exit { statements }
/* set a probe on a location define elsewhere (provider?) */
/* "my_location" could be a line number or address */
probe kernel.sys_write:my_location { statements }
--
I was also thinking of supporting something like
set my_func_list {
kernel.sys_write:entry
kernel.sys_open:entry
kernel.sys_read:entry
}
probe my_func_list { statements }
More information about the Systemtap
mailing list