Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753712AbbHKTMK (ORCPT ); Tue, 11 Aug 2015 15:12:10 -0400 Received: from mailhub.eng.utah.edu ([155.98.110.27]:23635 "EHLO mailhub.eng.utah.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752905AbbHKTMI (ORCPT ); Tue, 11 Aug 2015 15:12:08 -0400 X-Greylist: delayed 3181 seconds by postgrey-1.27 at vger.kernel.org; Tue, 11 Aug 2015 15:12:08 EDT MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Tue, 11 Aug 2015 11:34:48 -0700 From: Scotty Bauer To: Kun Huang Cc: linux-kernel@vger.kernel.org Subject: Re: [ftrace] possible to implement user-space =?UTF-8?Q?tracers=3F?= In-Reply-To: References: Message-ID: <7a0446748785048b03318202f2d6c99a@imap.eng.utah.edu> User-Agent: Roundcube Webmail/1.0.2 X-UCE-Score: -2.5 (--) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2308 Lines: 67 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@vger.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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/