

Web Tracing Framework by Google - justplay
http://google.github.io/tracing-framework/

======
arturhoo
Putting the project itself aside (which does seem quite useful), am I the only
one who finds it intriguing the fact that Google is not using Google Code to
host some of their recent open source projects?

~~~
simula67
Usually the justifications these companies give for such mandates is how it
would look to outsiders if they are not using their own tools.

On the other hand I remember reading about how Google has a corporate mandate
that their employees cannot use Microsoft Windows without providing a business
justification.

~~~
ams6110
One would assume that since they develop Chrome for windows, they would have
some number of devs using windows.

~~~
andyroid
Yes, that would be "providing a business justification".

------
dstaley
I hate to ask what I think is probably a stupid question, but: how are they
creating that animation? It's not a simple .gif, and it looks like they're
using something akin to a sprite: [http://google.github.io/tracing-
framework/resources/anim_ind...](http://google.github.io/tracing-
framework/resources/anim_index.png)

Edit: Looks like it's a modified version of Sublime's animation
([https://news.ycombinator.com/item?id=4532146](https://news.ycombinator.com/item?id=4532146)).

~~~
evan_
Here's the repo with the modified version of the Sublime text animation
engine:
[https://github.com/benvanik/anim_encoder](https://github.com/benvanik/anim_encoder)

------
k-mcgrady
Great that it can support Chrome on Android for analysing mobile sites.

------
octatone2
The HUD does not display/inject properly on our JS web app wunderlist.
Wouldn't it make sense that the HUD controls existed outside the scope of the
page's DOM? e.g. available in the [wtf] extension popover itself or as context
menu items? Or as a dev tools tab?

~~~
packetslave
Have you opened a bug and/or a feature request? I'm sure the team would love
to hear that it isn't working for you (since that probably means it isn't
working for someone else as well)

[https://github.com/google/tracing-
framework/issues](https://github.com/google/tracing-framework/issues)

------
stephen
Looks similar to SpeedTracer...is it related at all? The replacement?

~~~
kjhughes
Good question. So, there's this new Web Tracing Framework:

[http://google.github.io/tracing-framework/](http://google.github.io/tracing-
framework/)

And Speed Tracer, as you mention:

[https://developers.google.com/web-
toolkit/speedtracer/](https://developers.google.com/web-toolkit/speedtracer/)

And also PageSpeed Tools:

[https://developers.google.com/speed/pagespeed/](https://developers.google.com/speed/pagespeed/)

I'm surprised they don't address the distinction, history, or evolution plan
anywhere prominently.

~~~
spyder
Also there is TraceGL which seems to be less about performance tuning and more
about debugging and it's not free but looks like a great tool.
[https://trace.gl/](https://trace.gl/)

------
smanuel
Web Tracing Framework a.k.a. WTF. Looks cool btw.

------
jplur
Very useful! Semi-related question: is there a way to profile the stack within
a requestAnimationFrame callback? I seem to remember having access to it in
earlier versions of chrome, but now I just see the callback and garbage
collection events if present.

------
abalone
Best. Acronym. Ever.

~~~
cobbal
I'm not sure, could get confused with the web template framework in WebKit.

[https://github.com/WebKit/webkit/tree/master/Source/WTF/wtf](https://github.com/WebKit/webkit/tree/master/Source/WTF/wtf)

------
WayneDB
I'm so happy that I get to do mostly native apps. Building a good UI is hard
enough without having to shoe-horn HTML into doing things it was never
intended to do.

~~~
magicalist
Yes, it sure is great that you never have to profile performance, trace call
stacks, or find out where your heap is going in native app development.

Did people voting up this comment just not read the linked docs, or do you
maybe not have the context to understand what this library does?

It instruments your code so you can get call stack traces with timing
information associated. Unless your calls into the DOM are blocking, they
aren't going to show up there (that's what the browser dev tools are for).
There's a reason that the only HTML element explicitly mentioned in the docs
is the canvas element. It even says, explicitly, "Though it's certainly useful
to see the ways your application is interacting with the browser and vice
versa, often there is much more work occurring within your call trees than
not."

This has almost nothing to do with HTML. It's a profiling tool for a garbage-
collected scripting language, and it looks more than a little useful.

~~~
WayneDB
For native _front-ends_ most of that work has been done for me already though.
I can't remember the last time I've had to worry about performance profiling
or heap management in a native front-end - and we build iOS, Android and
Windows apps that process huge amounts of (medical) data. Hell, I don't even
have to _make my own_ animations to have good looking apps because that's all
built into the rich native components that I use.

On native platforms - if I stick to standard, well-known, stable components
and if I follow good coding practices and recommended techniques - my apps are
fast by default. And I'm _just gluing things together_ most of the time. Easy,
scrumptious pie! I can save the work of "squeezing every drop of performance
out of my code" for back-end processes.

Things just work for the most part - unlike the web where half the sites that
try to do something "fancy" like fixed elements just serve to make scrolling
slow and clunky - hence the need for this tool.

