Messages in this thread | | | Date | Tue, 20 Apr 2010 00:04:39 +0200 | From | Frederic Weisbecker <> | Subject | Re: request to add trace off and trace on with events |
| |
On Mon, Apr 19, 2010 at 05:37:54PM -0400, Steven Rostedt wrote: > On Mon, 2010-04-19 at 23:29 +0200, Frederic Weisbecker wrote: > > > The problem with having triggers defined in the filter file is that > > you couldn't set a normal filter plus a trigger. > > > > That said a filter itself could be a trigger. > > > > if (cond) filter > > > > This is going to break some ABI though. > > > > In fact having one file per trigger type is going to make the > > things much easier if you don't want to encumber with syntax parsing, > > and just reuse the filtering code as is with very few modification. > > This is going to be also easier for the users as they don't have to > > remember the syntax or the available triggers. > > > > Say you are in an event directory: > > > > $ ls triggers/ > > > > filter > > tracing_off > > tracing_on > > dump_trace > > > > $ echo "(a == 1 && b == 2)" > tracing_off > > > > So in the above example, you just reuse the filtering code, > > no need to parse an if or a command. > > The filter becomes a command. I've listed it in the triggers > > directory but this just to express the fact it can be treated > > like whatever trigger command, this is just an implementation > > POV. In fact we can just keep it in the event directory. > > > I like this. Heck, all registered triggers can be shown here. > > # cat event/sched/sched_switch/triggers/tracing_off > disabled > > Or it can be a filter, or enabled.
Yep, since it would share exatly the same code than filter (as filter basically becomes a trigger command), it can behave the same: displaying "none" when there is no filter, or a filter.
> > This could also allow a user to do: > > echo "(a > 100)" > tracing_on > echo "(a < 100)" > tracing_off
Yeah :) But if the scope of the "tracing off" is only for this event, then rather use:
echo "(a < 100)" > filter
You could have tracing_off/on that have this event scope and tracing_off/on_all for a global tracing scope.
| |