Chasing Real-Time Observability for CRuby
summary
rrtrace visualizes CRuby in real time across time, thread count and stack depth by streaming 16-byte events (TracePoint, GC enter/exit, InternalThreadEvent) over a shared memory ring buffer into a separate visualizer process. It reconstructs per-thread stacks (fib(32) shows ~30 frames) and uses per-block parallelization to replay events without popping unseen frames. The C side never silently drops events (it stalls until sends succeed); benchmarks show TracePoint and timestamp capture are the largest overheads while the ring buffer send is relatively cheap.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 0:32Observability challenges
- 2:30Leveraging unused cores
- 4:21Demo of rrtrace tool
- 8:54rrtrace architecture
- 12:12Shared memory ring buffer
- 14:52Visualizer processing
- 17:27Real-time visualization hurdles
- 20:54Parallelizing stack simulation
- 23:38Performance impact measurement
- 27:00Future work and limitations
- 28:26Q&A








