each thread. stack = [] events.each do |event| case event in [:call, timestamp, method_id] stack << [timestamp, method_id] in [:return, end_timestamp, _method_id] start_timestamp, method_id = stack.pop # x: start..end, y: thread_id, z: stack.size, color: method_id end 14 CRuby YARV C-ext Visualizer proc Window