There’s been quite some progress since the last report, focussed on Firefox for Android.
- Anton Kovalyov landed changes to the GUI that show the event timelines for multiple threads in a synchronised way. The multithreaded aspects of the profiler are stabilising nicely.
- Multi-thread profiling support is ready. Select ‘Multi-Thread’ when profiling to watch any registered thread. For now a local build is recommended to tweak which threads you want to profile.
- Android Java profiling support is ready. Set ‘profiler.java’ to true on the host desktop machine before connecting to your phone. A new timeline will appear that will represent main java thread execution.
- Native unwind for Android nightlies is now available. Select ‘breakpad’ in the GUI on the host desktop machine when connecting to your phone. With this, full symbolicated profiles are available.
- Native unwind on Android uses the ARM-specific EXIDX unwind format. Addition of it to the nightly .apk increases size by about 2.5MB (10% ish), which is not a bad result for near-complete unwindability of libxul and the other libraries.
- There was some additional work to improve the EXIDX unwind performance and stability to usable levels (883126, 882903). Sampling beyond 200Hz is viable on a dual-core Cortex A9. Investigations are in progress to improve unwind speed and reduce memory use, to levels that would make it useful for Firefox OS.