- What is trace_event?
- What is/are the primary use case(s)? (e.g. counters, perf tracing, async call continuation)
- Status of: https://codereview.chromium.org/827993003
- What tools are using it?
- How would it be implemented?
- What features would io.js leverage?
- How would it affect existing subsystems?
- (currently test/ doesn't have an examples of how to use include/v8-tracing.h)
- How does this feed into current API (i.e. AsyncWrap)?
- What is left to do?
- Why is the debugging port so slow in io.js and node.js 0.12?
- Can/should tracing be exposed by iojs? via c++? via js?
- Anything in deps/v8/include/ can be accessed by native modules. So the question should be: What parts do we want to integrate into core?
- Can we share async tracing facilities between iojs and chrome? (eg: Promises)
- see: window.fetch()
What is trace_event?
- Created for client side analysis in Chrome
- Chrome is multi-threaded and needed additional information
-
- Data format (JSON)
-
- (C++) Is a way to place probes throughout the codebase
- trace-event.h bottoms out in 3-4 C++ calls w/ specific purposes
- The macros turn into those few calls
- To use v8-tracing.h, copy in tracing-event.h to have macro's use the internal API
- 2 parts
- Embedding API
- Control API (stop, start, get data, get categories)
- Chrome dev tools protocol has JS APIs for control
- Does not call at the moment a specific probe is called. Is less performance intrusive.
Status of V8 patch?
- Month to land?
- fadi: yes
- Mikeal Rogers
- Trevor Norris (wrote async_wrap) [email protected]
- Stephen Belanger
- Ali Ijaz Sheikh (ofrobots@google. Debug/Trace for node at Google)
- Ryan
- Sam
- Thorsten Lorenz
- Nat Duca (chrome, tracing)
- Fadi Meawad (chrome, tracing)
- Paul Irish (chrome)