TaskTracer

From MozillaWiki
Jump to navigation Jump to search

Introduction

TaskTracer aims at the correlation between Tasks and Runnables, across threads and processes.

By looking at a task, TaskTracer tells you:

  • The “source events” of this task.
    • IO events: touch events, key events, wifi daemon signal
  • Where it is dispatched from.

How to use Task Tracer

1. Get the source code of Task Tracer.

git clone https://github.com/shellylin/gecko-dev/tree/tt-v4

2. Build and flash to a real device.

cd B2G
./build.sh gecko
./flash.sh gecko

3. Get the source code of data retriever and data converter.

git clone https://github.com/ginayeh/task-tracer-converter

4. Start profiling.

./tasktracer.sh start

5. Stop profiling.

 ./tasktracer.sh stop

6. Get memory maps from the real device.

mkdir mmaps
./tasktracer.sh get_mmaps

7. Prepare data for extracting class/task name.

./prepare-data.sh mmaps $objdir

How to read the profile using Isis

Reference links

TODO

  • Integrate with built-in profiler.