Re: [ftrace] possible to implement user-space tracers?

From: Kun Huang
Date: Tue Aug 11 2015 - 22:25:27 EST


Thank you for your help Scotty :) I'm reading it.

On Wed, Aug 12, 2015 at 2:34 AM, Scotty Bauer <sbauer@xxxxxxxxxxxx> wrote:
> It is possible to trace from userland, Android does it.
>
> Essentially you need to write your data into
> /sys/kernel/debug/tracing/trace_marker
>
> then read it out of /sys/kernel/debug/tracing/trace
>
>
> If you care how the implementation works you can read it in
> /kernel/tracing/trace.c
> (http://lxr.free-electrons.com/source/kernel/trace/trace.c) search for
> tracing_mark_fops and tracing_fops.
>
>
> In Android here are the relevant files you will need to see how it's used in
> userland:
> Atrace (for reading data out + setting things up):
> https://android.googlesource.com/platform/frameworks/native/+/master/cmds/atrace/atrace.cpp
> https://android.googlesource.com/platform/external/chromium-trace/+/master
> (host side setup of the device)
>
> trace-dev (for writing data in):
> https://android.googlesource.com/platform/system/core/+/master/libcutils/trace-dev.c
>
> Once we have all the data we usually run it through trace-viewer,
> (https://github.com/catapult-project/catapult)
>
> Cheers.
>
>
>> On 2015-08-11 06:53, Kun Huang wrote:
>>>
>>> Hi ftrace developers
>>>
>>> I'm developing a huge python based programs and facing performance
>>> issue everyday. I like the ftrace system and hope there could be a
>>> tracer to trace&report my python codes. Is it possible or is it
>>
>> worthy
>>>
>>> to do this?
>>>
>>> ---
>>>
>>> Kun
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe
>>
>> linux-kernel" in
>>>
>>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>> [6]
>>>
>>> Please read the FAQ at http://www.tux.org/lkml/ [7]
>>
>>
>> Links:
>> ------
>> [1] http://lxr.free-electrons.com/source/kernel/trace/trace.c
>> [2]
>>
>> https://android.googlesource.com/platform/frameworks/native/+/master/cmds/atrace/atrace.cpp
>> [3]
>> https://android.googlesource.com/platform/external/chromium-trace/+/master
>> [4]
>>
>> https://android.googlesource.com/platform/system/core/+/master/libcutils/trace-dev.c
>> [5] https://github.com/catapult-project/catapult
>> [6] http://vger.kernel.org/majordomo-info.html
>> [7] http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/