Marco Concetto Rudilosso - Building a profiler for web assembly

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 พ.ย. 2024
  • In this talk we will learn what it takes to build a profiler for webassembly on top of wasmtime. But first, if we are to embark on such journey, we have to understand what a profiler does and how they usually work. To accomplish this, we will briefly learn about sampling profilers and the actions they take to profile a running program. which boil down to: waking up every so often, sampling the program, storing the information we got. Having understood that, we will look into making our own profiler that builds on top of wasmtime. We will learn about some mechanism to interrupt a running web assembly program, like epoch interrupts and how they can be useful to build such a profiler. We will also learn that getting a sample of the running program is fairly straightforward using wasmtime. Finally, we will put all this knowledge together and understand how building such a profiler is possible. At the end of the talk we will also explore what an universal profiler is and why we would ever want such a tool and how we could build one on top of what we already have. An universal profiler understands code written in multiple languages, both the ones compiled to native instructions (in this case webassembly), like rust, c, c++, and others, but also code running inside of runtimes, like javascript, ruby and others.

ความคิดเห็น • 1

  • @LageAfonso
    @LageAfonso 7 หลายเดือนก่อน +5

    The video ends at 29:42, after that, only black screen.