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.

Reply via email to