Skip to content

Set the default value of DebugProbes.enableCreationStackTraces to false #3783

Closed
@qwwdfsad

Description

@qwwdfsad

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions