I introduced the call_hook machinery when I was working on Fastly's embedding of wasmtime. I'm noodling what some design changes there might look like and I'm curious if any other embedders are actually using that feature with components, and if so, what are you using it for?
@Dan Gohman is Fastly still using the call hook in roughly the same way as before with the component embedding?
pinging some other folks who have maintained major embeddings: @Joel Dice @Bailey Hayes @Yosh Wuyts @Saúl Cabrera
@Pat Hickey We're still using it, or rather, we're using call_hook_async now, but for effectively the same purpose, iiuc.
we're not currently using it
cc/ @Dan Chiarlone (danbugs) @Lucy Menon
cc/ @Jeff Charles
I believe that Spin is using the synchronous version for tracking time-in and time-out for requests
correct yeah, we're using it. However, I think we should actually do more coarse-grained time tracking based on Tokio tasks, so if there's a good argument for removing them, that's something we could discuss
We're not currently using it
Spin uses it to emit metrics for guest execution wall time. Till is right that we could potentially replace that with task busy time but they aren't exactly equivalent. We've also discussed using them for tracking CPU counters but I'd be even happier to add e.g. USDT probes for that (since counters aren't terribly portable to begin with).
I don't believe we are using it right now. We don't need per-instance execution time or anything like that at the moment.
Thanks all. FWIW I moved on to working on another mechanism at the moment and don't plan to make any changes to call hooks.
Last updated: Feb 24 2026 at 04:36 UTC