~/talk

Tracing Coroutines on a JVM

Talkat KotlinConf 2023 · 2023-04-12..04-14· Veilingzaal· [observability]
links:none on file
slides:none on file

Tracing breaks when coroutine continuations move between threads because ThreadLocal trace context gets lost; the claim is that CopyableThreadContextElement copies and restores that context so Java tracing (OpenTelemetry/Dapper-style) remains coherent across suspend/resume boundaries. Implementation uses Kotlin Coroutines hooks plus small callback glue to sync per-coroutine storage with executor threads, works in hybrid Java Executor/Kotlin coroutine programs, and patches are accepted into Kotlin coroutines so the mechanism is deployable in real services.

AI-written summary · about

  1. 0:00Introduction
  2. 0:41What is tracing
  3. 3:50Race condition
  4. 4:32ThreadContext Element
  5. 6:12Deployment
  6. 6:46Use Cases
  7. 7:31Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.