You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
The text was updated successfully, but these errors were encountered:
* Adjust tests and the documentation
* Rationale: this option implies significant and non-trivial overhead yet its utility is unclear (e.g. we got a multitude of signals that this option brings no use and none that it's useful even when asked explicitly)
Fixes#3783
* Adjust tests and the documentation
* Rationale: this option implies significant and non-trivial overhead yet its utility is unclear (e.g. we got a multitude of signals that this option brings no use and none that it's useful even when asked explicitly)
Fixes#3783
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 asuspend
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
The text was updated successfully, but these errors were encountered: