Description
DebugProbes.enableCreationStackTraces
is the property of the debugger, indicating that the stacktrace of the coroutine creation site has to be captured.
This is a performance-sensitive operation (e.g. fillInStackTrace
is typically the heaviest operation in the coroutines lifecycle), incurring significant (double digit) overhead on production systems with little to no benefits. On the other side, the creation stacktrace itself is not asynchronous -- it doesn't attempt to recover the call site stacktrace, meaning that coroutines launched from a suspend
function are unlikely to have a meaningful creation stacktrace.
Most of the known probes API consumers disable it; moreover, even our documentation recommends doing so.
My suggestion is to switch it off by default and leave as a legacy and/or advanced option