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

Reply via email to