This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug translator/4935] support on-the-fly probe enable/disable syntax
- From: "fche at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sources dot redhat dot com
- Date: 8 Oct 2007 17:10:19 -0000
- Subject: [Bug translator/4935] support on-the-fly probe enable/disable syntax
- References: <20070817183537.4935.fche@redhat.com>
- Reply-to: sourceware-bugzilla at sourceware dot org
------- Additional Comments From fche at redhat dot com 2007-10-08 17:10 -------
> In that case,
> ---
> probe ALIAS=PROBEPOINT { stmt1; }
> probe ALIAS if (expr) { stmt2; }
> probe ALIAS { stmt3; }
> ---
> will be treated as
> ---
> probe PROBEPOINT { if (!expr) next; stmt1; stmt2}
> probe PROBEPOINT { stmt1; stmt3}
> ---
> Is that right?
That's right. It wouldn't make sense to act as if the conditional
was within the probe handler block (after the prefix from aliases),
since that would require the underlying probe to still be active.
It also means that the variables in "expr" can in practice only involve
global script-level variables. (Even pure embedded-C functions can
change their values frequently enough to make them impractical as
part of an automatic predicate. In this sort of case, we could opt
to automatically translate the script to the "{ if (!expr) next; ... }"
form, which would run correctly but slowly.)
--
http://sourceware.org/bugzilla/show_bug.cgi?id=4935
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.