Live data from Hacker News

Observability in WebAssembly

dev.dylibso.com

1–10 of 33 posts

Re: Observability in WebAssembly

#3
I wonder how well (or if it's even possible?) to pair this with hosted WASM runners (like CloudFlare Workers, or Fastly Runners, etc.).

It looks like there is also (limited?) support for tracing functions and allocations in WASM binaries you didn't compile. I'm looking forward to trying this out!

Re: Observability in WebAssembly

#5
post #4

Was just thinking of something like this last night. Now, wonder if I can compile JS and automatically wire up apm for all spans.

I do have some experimental code working with QuickJS that does this. Feel free to reach out of if you're interested in trying it out or start a discussion https://github.com/dylibso/observe-sdk/discussions

Re: Observability in WebAssembly

#7
post #3

I wonder how well (or if it's even possible?) to pair this with hosted WASM runners (like CloudFlare Workers, or Fastly Runners, etc.). It looks like there is also (limited?) support for tracing functions and allocations in WASM binaries you didn't compile. I'm looking forward to trying this out!

Yes, it should work in Cloudflare, you'd just need to use the JS adapter for whichever APM you use (Datadog, Honeycomb, Lightstep w/ more coming soon). The library provides import functions you pass into your module instance, and as long as the Wasm was instrumented before you deploy the Worker, you should have no issues. Please let us know if you hit any though!

Re: Observability in WebAssembly

#8
post #7
post #3

I wonder how well (or if it's even possible?) to pair this with hosted WASM runners (like CloudFlare Workers, or Fastly Runners, etc.). It looks like there is also (limited?) support for tracing functions and allocations in WASM binaries you didn't compile. I'm looking forward to trying this out!

Yes, it should work in Cloudflare, you'd just need to use the JS adapter for whichever APM you use (Datadog, Honeycomb, Lightstep w/ more coming soon). The library provides import functions you pass into your module instance, and as long as the Wasm was instrumented before you deploy the Worker, you should have no issues. Please let us know if you hit any though!

One caveat that Datadog (specifically traces) probably won't work on the edge just yet. But if this is something you're interested in kbknapp feel free to post your questions or requests here https://github.com/dylibso/observe-sdk/discussions

Re: Observability in WebAssembly

#9
post #5
post #4

Was just thinking of something like this last night. Now, wonder if I can compile JS and automatically wire up apm for all spans.

I do have some experimental code working with QuickJS that does this. Feel free to reach out of if you're interested in trying it out or start a discussion https://github.com/dylibso/observe-sdk/discussions

I’ll be reviewing.

Question: are you wiring it up like how APM is wired up in JVM applications or what exactly are you doing? Does it effect stack trace outputs or leave those alone?

Re: Observability in WebAssembly

#10
This is by the same team behind Extism, a WASM plug-in library implemented in multiple languages. I’ve been active on their Discord and they’ve been really awesome and supportive of any questions I have. I’m excited to see where they go with this observability SDK. WASM has a major usability problem right now, and we need things like this and Extism to make it smoother to produce and consume wasm programs!
Post reply on HN