envoyproxy/envoy

proposal: design Wasm ABI for tracing providers

Open

#10,563 建立於 2020年3月28日

在 GitHub 查看
 (3 留言) (0 反應) (0 負責人)C++ (5,373 fork)batch import
area/wasmdesign proposalhelp wanted

倉庫指標

Star
 (27,997 star)
PR 合併指標
 (平均合併 8天) (30 天內合併 378 個 PR)

描述

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

貢獻者指南