Re: [ftrace] possible to implement user-space tracers?
From: Scotty Bauer
Date: Tue Aug 11 2015 - 15:12:13 EST
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/