Wasm-based Telemetry (Experimental)
By default, telemetry generation is enabled as compiled-in Istio proxy filters. The same filters are also compiled to WebAssembly (Wasm) modules and shipped with Istio proxy. To enable telemetry generation with the Wasm runtime, install Istio with the preview
profile:
$ istioctl install --set profile=preview
Alternatively, set the following two values to enable Wasm-based Telemetry with the default
profile:
$ istioctl install --set values.telemetry.v2.metadataExchange.wasmEnabled=true --set values.telemetry.v2.prometheus.wasmEnabled=true
There are several known limitations with Wasm-based telemetry generation:
- Proxy CPU usage will spike during Wasm module loading time (i.e. when the aforementioned configuration is applied). Increasing proxy CPU resource limit will help to speed up loading.
- Proxy baseline resource usage increases. Based on preliminary performance testing result, comparing to the default installation, running Wasm-based telemetry will cost 30%~50% more CPU and double the memory usage.
The performance will be continuously improved in the following releases.