This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug translator/16672] New: Allow brace expansion on probe points


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]