HTTP access log formatters for dynamic metadata written by Listener/Network level filters
#41,116 opened on Sep 17, 2025
Repository metrics
- Stars
- (27,997 stars)
- PR merge metrics
- (Avg merge 8d) (378 merged PRs in 30d)
Description
Description: It is a known issue currently that dynamic metadata written at the listener/network scope is not available to the HTTP access logger. Any HTTP access log formatters that address to a namespace/keypair written by these filters ends up not being available. (See https://github.com/envoyproxy/envoy/issues/19046)
The underlying cause is that the HTTP filter manager does not copy dynamic metadata from the network over to to the stream info object, but does copy filter state (See reference here). I am wondering if this was intentional or an oversight?
What does the community recommend going forward if one has a use case for HTTP logging these fields?
- Should these filters just use FilterState object and implement reflection/serialization, similar to this?
- Should dynamic metadata be copied over to the HTTP filter manager stream info?
[optional Relevant Links:]