I think the below materials can give you better understanding of uftrace tool.
CppCon 2016 poster: https://honggyukim.github.io/uftrace/cppcon2016/uftrace-poster-HonggyuKim-CppCon2016.pdf CppCon 2016 lighting talk: https://honggyukim.github.io/uftrace/cppcon2016/uftrace-HonggyuKim-CppCon2016.pdf Tracing Summit 2016 presentation: http://tracingsummit.org/w/images/3/3d/Uftrace_-_TracingSummit_2016.pdf uftrace provides many features that are not well covered by the materials as follows: 1. report command This command collects trace data from a given data file and prints statistics and summary information. It shows function statistics by default, but can show thread statistics with the --threads option and show differences between traces with the --diff option. https://github.com/namhyung/uftrace/blob/master/doc/uftrace-report.md 2. graph command This command shows a function call graph for the given function in a uftrace record datafile. If the function name is omitted, main is used by default. The function call graph contains backtrace and calling functions. Each function in the output is annotated with a hit count and the total time spent running that function. https://github.com/namhyung/uftrace/blob/master/doc/uftrace-graph.md 3. tracing function arguments and return values The uftrace tool supports recording function arguments and/or return values using the -A/--argument and -R/--retval options respectively. https://github.com/namhyung/uftrace/blob/master/doc/uftrace-record.md#arguments If anyone wants to learn more, please see the below wiki page: https://github.com/namhyung/uftrace/wiki Thanks, Honggyu On Tuesday, November 15, 2016 at 11:59:31 PM UTC+9, Honggyu Kim wrote: > > Hi all, > > I would like to introduce a recently open-sourced function tracing tool, > called uftrace for V8 project development. > https://github.com/namhyung/uftrace > > The uftrace tool is to trace and analyze execution of a program written in > C/C++. It was heavily inspired by the ftrace framework of the Linux kernel > (especially function graph tracer) and supports userspace programs. It > supports various kind of commands and filters to help analysis of the > program execution and performance. > > This tool is developed by my colleague, Namhyung Kim and I have been used > it to analyze V8 code base and also helped him to improve the tool. I > presented this tool in CppCon 2016 in both poster session and lightning > talk as well. So you can see my talk from the youtube link below: (it's > just 6 mins) > https://www.youtube.com/watch?v=LNav5qvyK7I > > I also added a feature to see the result in chrome trace viewer. Some > execution traces are uploaded in the below links: > > Richards in Octane: > https://honggyukim.github.io/uftrace/v8/octane-richards/trace_richards.js.html > Splay in Octane: > https://honggyukim.github.io/uftrace/v8/octane-splay/trace_splay.js.html > Facebook in JSBench: > https://honggyukim.github.io/uftrace/v8/jsbench-facebook/trace_facebook.js.html > > If you open those links in chrome browsers, you can easily see the shape > of workloads for each benchmark. > > I've just uploaded a patch because uftrace requires target binaries to be > compiled with -finstrument-functions or -pg option. > https://codereview.chromium.org/2498223004/ > > I hope this tool is useful to V8 developers! > > Thanks, > Honggyu > -- -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
