Home | History | Annotate | Download | only in docs
      1 # Multi layer tracing
      2 
      3 *** note
      4 **This doc is WIP**, stay tuned.
      5 <!-- TODO(primiano): write multi-layer tracing doc. -->
      6 ***
      7 
      8 This doc should explain how is possible to compose a hierarchy of tracing
      9 services. The concrete use case is combining multiprocess tracing in Chromium
     10 with Android's tracing daemons (think to hypervisors' nested page tables).
     11 
     12 The TL;DR of the trick is:
     13 - ABI stability of the
     14   [shared_memory_abi.h](/include/perfetto/tracing/core/shared_memory_abi.h)
     15 - ABI stability of the IPC surface.
     16 
     17 The tracing service in chromium should proxy Producer connections (adapting Mojo
     18 to our IPC) towards the Android's `traced` service, passing back the shared
     19 memory buffers to the real producers (the Chrome child process).
     20 
     21 Conceptually it is simple and straightforward, requires *some* care to implement
     22 correctly ownership of the shared memory buffers though.
     23