Open Bug 1540851 Opened 6 years ago Updated 3 years ago

Profile mutex/condvar locking and locked times

Categories

(Core :: Gecko Profiler, defect, P3)

defect

Tracking

()

Tracking Status
firefox68 --- affected

People

(Reporter: mozbugz, Unassigned)

References

Details

Stealing Honza's idea from bug 1540762 "Telemetry for lock wait time on the main thread":
I think we could do a similar job in the profiler, and capture lock wait times as markers (for individual named markers) and/or counters (for generic stats about lock wait times).
We could also capture locked durations, which would sometimes help in finding the source of long wait times.

Whichever bug gets worked on first, will probably offer useful foundation for the other one, so I'm linking them.

I want to have (and previously prototyped) a functionality for Backtrack to track code that blocked (held) a lock and caused the wait. It's nice to know there is lock acquire delay, but it's even better to know why it's happening.

(In reply to Honza Bambas (:mayhemer) from comment #1)

I want to have (and previously prototyped) a functionality for Backtrack to track code that blocked (held) a lock and caused the wait. It's nice to know there is lock acquire delay, but it's even better to know why it's happening.

On the other hand, this was from times when only a small subset of threads was registered in the profiler. These days we register nearly all of them, so when a lock waits too long (say >10ms) it will be visible what other thread holds it and where exactly.

Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.