Closed Bug 1661172 Opened 11 months ago Closed 9 months ago

Capture C++ stacks and markers from the Android UI thread

Categories

(Core :: Gecko Profiler, enhancement, P2)

All
Android
enhancement

Tracking

()

RESOLVED FIXED
85 Branch
Tracking Status
firefox85 --- fixed

People

(Reporter: mstange, Assigned: mstange)

References

Details

Attachments

(1 file)

At the moment, we capture Java / Kotlin stacks for the Android UI thread. However, that Java code can call into Gecko C++ code, and sometimes that Gecko C++ code can take up time. In the "Java Main Thread", we only see GeckoThread.runUiThreadCallback for the duration of that C++ code (example profile: https://share.firefox.dev/3lsVhpE).
It would be great if we could capture C++ call stacks from the Java UI thread as well, so that we can see what's truly going on during runUiThreadCallback.

Severity: -- → N/A
Priority: -- → P2

Oh, we also currently don't capture markers that we emit from C++ code on the UI thread.

Summary: Capture C++ stacks from the Android UI thread → Capture C++ stacks and markers from the Android UI thread
Assignee: nobody → mstange.moz
Status: NEW → ASSIGNED

This allows getting profiler markers from that thread, and also shows some limited C++ call stack information.
The stacks aren't complete because we don't know the address at which the thread's stack starts.

Blocks: 1677868
Pushed by mstange@themasta.com:
https://hg.mozilla.org/integration/autoland/rev/7be6d3d6a9c9
Register the android UI thread as "AndroidUI"  with the profiler. r=geckoview-reviewers,agi
Status: ASSIGNED → RESOLVED
Closed: 9 months ago
Resolution: --- → FIXED
Target Milestone: --- → 85 Branch
You need to log in before you can comment on or make changes to this bug.