https://kotlinlang.org logo
Title
e

etolstoy

09/16/2021, 3:54 PM
Hey all! We’re considering folding coroutines internal calls in the IDE console output to leave only business logic on the stacktrace thus making analysing them easier. Folding means that all the lines (including the first line that matches a given at
kotlinx.coroutines.
prefix) will not be shown unless you click on 
<3 internal lines>
. After one clicks on this caption — all the underlying folded lines will be shown to the user. Folded code:
at my.business.Logic.f(Logic.kt:30)
at my.business.Logic.g(Logic.kt:150)
at my.business.Logic.main(Logic.kt:99) <3 internal lines>
at not.mine.but.also.BusinessLogic.main$1(BusinessLogic.kt:20)
at not.mine.but.also.BusinessLogic.main(BusinessLogic.kt:19)
Unfolded code:
at my.business.Logic.f(Logic.kt:30)
at my.business.Logic.g(Logic.kt:150)
at my.business.Logic.main(Logic.kt:99)
at kotlinx.coroutines.invokeAsync(Coroutines:999)
at kotlinx.coroutines.applySuspend(Coroutines:18)
at kotlinx.coroutines.runBlocking(BlockingCoroutines:555)
at not.mine.but.also.BusinessLogic.main$1(BusinessLogic.kt:20)
at not.mine.but.also.BusinessLogic.main(BusinessLogic.kt:19)
To understand the possible consequences on user experience we want to know how you feel about seeing or not seeing coroutine internal stuff in your stacktraces (please note that they will be still available via clicking on <N lines folded>). And if you need them, it would be interesting to understand your specific use cases. Please, share your thoughts in the thread.
:yes: 12
b

Big Chungus

09/16/2021, 4:05 PM
This sounds awesome to me!
8
Although it might be good to somehow indicate that folded lines relate to coroutines
7
Maybe
<3 coroutines lines>
instead?
f

Fudge

09/18/2021, 8:17 AM
This fixes one of my biggest problems with coroutines
l

louiscad

09/18/2021, 12:04 PM
<x coroutines internal lines>
would be even more explicit, yet, shorter than most lines in the stacktrace.
👍 1