External Processing¶
This filter should be configured with the name envoy.filters.http.ext_proc
The external processing filter calls an external gRPC service to enable it to participate in HTTP filter chain processing. The filter is called using a gRPC bidirectional stream, and allows the filter to make decisions in real time about what parts of the HTTP request / response stream are sent to the filter for processing.
The protocol itself is based on a bidirectional gRPC stream. Envoy will send the server ProcessingRequest messages, and the server must reply with ProcessingResponse.
This filter is a work in progress. In its current state, it actually does nothing.
Statistics¶
This filter outputs statistics in the http.<stat_prefix>.ext_proc. namespace. The stat prefix comes from the owning HTTP connection manager.
The following statistics are supported:
Name |
Type |
Description |
---|---|---|
streams_started |
Counter |
The number of gRPC streams that have been started to send to the external processing service |
streams_msgs_sent |
Counter |
The number of messages sent on those streams |
streams_msgs_received |
Counter |
The number of messages received on those streams |
spurious_msgs_received |
Counter |
The number of unexpected messages received that violated the protocol |
streams_closed |
Counter |
The number of streams successfully closed on either end |
streams_failed |
Counter |
The number of times a stream produced a gRPC error |
failure_mode_allowed |
Counter |
The number of times an error was ignored due to configuration |