We use SIGURG to send signal to a stopped thread to sample call stack.
Egor mentioned:
There could be large number of crashes on a popular Samsung device, for these cases an UMA kill switch and a
holdback may be enough? Stack signatures in crash/ on failed handlers will also
be somewhat unique.. Another guard could be against deterministic crashes: set a
flag in prefs to PROFILER_HANDLER_TRY and after successful roundtrip through the
handler change it to PROFILER_HANDLER_WORKED, otherwise if we see the
PROFILER_HANDLER_TRY on start, change it to PROFILER_HANDLER_FAILED.
More context at:
https://chromium-review.googlesource.com/c/chromium/src/+/1132144
Right now sampling is turned on in 1% of canary channel. There doesn't seem to be any significant crashes that show up on the crash server. But we might want to implement this before scaling the sampling to more users.