Hi all, I'm looking at implementing a hang monitoring mechanism for non-main threads. The initial motivation was that we've been noticing hangs on the compositor thread in Fennec. These hangs are not as easy to notice as main thread hangs, and we'd like more information about them like how frequently they occur. As we move more components off main thread, I think this kind of information could be useful to other areas as well.
So far I looked at the main thread hang monitor [1], but it seems to make a lot of assumptions about the main thread. I think it would make sense to have a separate, generic hang monitor that can monitor multiple other threads. Each thread would register with the hang monitor and tell it how much time the thread must be blocked before it's considered a hang. The hang monitor would then relay counts/histogram of hangs to telemetry. It would be even better if we can get stacks. One thing I'm not sure about is we have a variety of threads (IPC threads, media threads, etc.), and I don't know how hard it would be to adapt them to use the hang monitor. Please share your comments and suggestions! Thanks, Jim [1] http://mxr.mozilla.org/mozilla-central/source/xpcom/threads/HangMonitor.cpp _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform