[ltt-dev] [RFC UST] Processes model
David Goulet
david.goulet at polymtl.ca
Tue Jan 18 12:43:07 EST 2011
On 11-01-17 10:00 PM, Michel Dagenais wrote:
>
>>> Consumer creation - spawns ust-consumerd.
>>
>> No ? Isn't ust-consumerd spawned separately, and then connects to ustd
>
> In which case it could be a consumer, not a daemon. In a sense strace is similar as it receives the tracing information from the kernel through ptrace and writes it to disk; yet even if it can be backgrounded, it is not called a daemon.
>
We will have to see about that since Nils is proposing something
different about ust-consumerd that makes it "more" daemon.
>> I don't think it is needed. ustd runs as root, and if we have a bug in
>> the tracer, well, we have a bug in the tracer, that's it.
>>
>> The in-kernel LTTng does not save state to disk. If the tracer crashes
>> in the kernel, we try not to kill the whole box, but the user cannot expect
>> to be able to trace until the box reboots.
>
> Yes, I would avoid that complexity initially, and bring back the idea if there is a compelling reason.
>
For now, we will put aside this idea.
>> lttngtrace is a bit verbose. Maybe "ostrace" (as in OS Trace) ? Other
>> suggestions ?
>
> Should the same command be used kernel and ust:
>
> trace -p process_1 -> ust tracing of process 1
> trace -k -p process_1 -> ust + kernel tracing of process 1
> trace -k -> whole system tracing
>
Yes. It is the main goal. Integrate these tracer control in one tool. We
should soon release a small roadmap explaining the goal of that tool
(why redo ustctl and lttctl...) and also the upcoming features (Ex:
kernel and ust trace merge, quick text dump, ...)
> Possible names? Quite a few are taken!
> Command 'btrace' from package 'blktrace' (universe)
> Command 'itrace' from package 'irpas' (multiverse)
> Command 'ltrace' from package 'ltrace' (main)
> Command 'etrace' from package 'etrace' (universe)
> Command 'mtrace' from package 'libc-dev-bin' (main)
> Command 'tracer' from package 'pvm-dev' (universe)
> Command 'grace' from package 'grace' (universe)
> Command 'xtrace' from package 'xtrace' (universe)
> Command 'tracd' from package 'trac' (universe)
> Command 'strace' from package 'strace' (main)
> Command 'dtrace' from package 'systemtap-sdt-dev' (universe)
> Command 'rtrace' from package 'radiance-sse3' (universe)
> Command 'rtrace' from package 'radiance' (universe)
> trace: command not found
>
> Is trace actually available?!
trace was "reserved" by Ingo for is strace alike tool.
A name has been found yesterday. I will let Mathieu make the
announcement for that since ... it should be him :)
>
>
>> Why should ustd fork the ust-consumerd ?
>>
>> Also, we will need to represent the pipe communication between
>> ust-consumerd and
>> ustd. It is needed to control the buffer access (get/put subbuffer
>> operations).
>> If we use a named pipe for this, the access rights will probably need
>> to be
>> u+rw and g+rw (write access for group tracing too, to send commands).
>
> More details are required to understand what happens before/after setuid, when subsequent modifications are required to the tracing session (tracepoint activation).
>
Noted! A "Security" section with more details will be in the next version.
Thanks
David
--
David Goulet
LTTng project, DORSAL Lab.
PGP/GPG : 1024D/16BD8563
BE3C 672B 9331 9796 291A 14C6 4AF7 C14B 16BD 8563
More information about the lttng-dev
mailing list