envoyproxy/envoy

proposal: design Wasm ABI for tracing providers

Open

#10 563 ouverte le 28 mars 2020

Voir sur GitHub
 (3 commentaires) (0 réactions) (0 assignés)C++ (5 373 forks)batch import
area/wasmdesign proposalhelp wanted

Métriques du dépôt

Stars
 (27 997 stars)
Métriques de merge PR
 (Merge moyen 8j) (378 PRs mergées en 30 j)

Description

Title: design Wasm ABI for tracers

Context:

  • after Envoy moved to libc++, dynamic_ot-based tracers got broken because they were relying on C++ ABI
  • following that, a potential new tracing provider expressed its interest in C ABI instead
  • so, it seems that tracing providers could benefit from having their own Wasm ABI

Proposal:

  • Let's try to design Wasm ABI for tracers
  • Along the way, let's expand on ideas that came out of reviews for Wasm upstreaming PRs, namely:
    • ABI should be modular and complementary to proxy-wasm/spec
    • ABI should use versioning scheme similar to regular Envoy extensions, e.g. envoy.tracers.v1alpha0
    • ABI should support usage model consistent with regular Envoy extensions, e.g. it should be possible to have N instances of the same extension type each with a different configuration
    • ABI should be optimized for data passing from Envoy to the Wasm extension in just 1 function call

Guide contributeur