[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <7a0446748785048b03318202f2d6c99a@imap.eng.utah.edu>
Date: Tue, 11 Aug 2015 11:34:48 -0700
From: Scotty Bauer <sbauer@....utah.edu>
To: Kun Huang <gareth@...nstacker.org>
Cc: linux-kernel@...r.kernel.org
Subject: Re: [ftrace] possible to implement user-space
tracers?
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@...r.kernel.org
>> 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists