This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug translator/16672] New: Allow brace expansion on probe points
- From: "jistone at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Fri, 07 Mar 2014 19:25:59 +0000
- Subject: [Bug translator/16672] New: Allow brace expansion on probe points
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=16672
Bug ID: 16672
Summary: Allow brace expansion on probe points
Product: systemtap
Version: unspecified
Status: NEW
Severity: enhancement
Priority: P2
Component: translator
Assignee: systemtap at sourceware dot org
Reporter: jistone at redhat dot com
As a way to improve brevity in specifying probe points, without requiring
wildcards that may be to broad, we might allow brace expansion similar to
shells.
For example:
process.function("*").{call,return}
=> process.function("*").call, process.function("*").return
process.{function("*").callees,plt}?
=> process.function("*").callees?, process.plt?
{kernel,module("nfs")}.function("nfs*")!
=> kernel.function("nfs*")!, module("nfs").function("nfs*")!
Note the distribution of '?' and '!'. Also, if there are multiple sections of
braces, they will multiply accordingly.
The start of a brace group would only be valid syntax when it immediately
follows 'probe', '.', or ',' where we know there must be a probepoint
component, so it's not ambiguous with the brace starting a probe body. Thus
"probe e{nd,rror}" would not be allowed.
In fact I'd suggest no token-pasting at all, so the branches of the braces must
deal in whole probe components only. Or if not whole components, at least
whole tokens - that way we might still allow something like:
kernel.function({"foo","bar"})
=> kernel.function("foo"), kernel.function("bar")
--
You are receiving this mail because:
You are the assignee for the bug.