"Non-default channel exists within session" when enabling UST/kernel and agent events
Enable UST and/or kernel events in their "default channel":
lttng create a lttng enable-event -u red
Enable any agent event:
lttng enable-event -j blue
This has the effect of creating an UST channel
lttng_jul_channel, making the session have a "non-default channel" existing.
So you cannot, for instance, disable the
red UST event without specifying its default channel,
$ lttng disable-event -u red Error: Event red: Non-default channel exists within session: channel name needs to be specified with '-c name' (channel <default>, session a) $ lttng disable-event -u red -c channel0 UST event red disabled in channel channel0 for session a
I understand that two UST channels exist now and the command doesn't know which one to choose. But this seems counterintuitive anyway from a UX point of view: the user never created another UST channel purposely.
Should agent UST channels be ignored when the only "true" UST/kernel channels are the default channels?
One step further: should the commands that need a channel apply to any channel of the given domain if there's only one (agent UST channels excluded)?
$ lttng create a $ lttng enable-channel -k kchan $ lttng enable-event -k sched_switch Error: Event sched_switch: Non-default channel exists within session: channel name needs to be specified with '-c name' (channel <default>, session a)
Why? It's not ambiguous where to put this event.