A long main-thread Binder call can include dispatch delay, server processing, scheduling, and lock waits. This article combines Binder events, thread states, and Java monitor contention to separate those intervals.
These signals must be recorded. Sleeping or a futex stack alone does not establish a Binder or Java-lock bottleneck.