Performance analysis in single-threaded, virtual-machine-based event-driven systems remains difficult due to abstraction layers separating applications, runtimes, and the operating system. Conventional profilers are effective for deterministic, multi-threaded systems but cannot capture the complex asynchronous interactions in environments such as Python, Node.js, Deno, or Lua. We introduce a runtime-level instrumentation technique that operates inside the virtual machine to capture event identifiers and contextual data, enabling post-hoc reconstruction across kernel, runtime, and user-space layers. Our Node Compass prototype demonstrates this approach, producing fine-grained, multilayer traces with minimal overhead and enabling precise bottleneck detection, thereby advancing observability in asynchronous runtimes.