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