Details
-
Improvement
-
Resolution: Unresolved
-
Major
-
7.2.0
-
0
Description
We are gradually replacing our use of manual locking / unlocking of objects used by multiple threads with folly::Synchronized. This is a superior solution to manual lock management in virtual all ways, however one downside is we do not have support for recoding slow mutex acquire or held durations, which we do have for manual locking (see TRACE_LOCKGUARD_TIMED, example usage.
Such phosphor tracing is very useful when investigating performance issues, as we can see exactly when and on what thread a lock was contended. For example see MB-56891 or CBSE-14469 where this kind of lock tracing would have been very beneficial.
Given our usage of folly::Synchorized is only increasing - and that means losing access to tracing some cases where we have it for manual locking, we should add support to tracing folly::Synchronized mutexes in the relative near-term.