event emission: implement generic event reporting gRPC client
- Dominant language
- C++
- Stars
- 28.9k
- Forks
- 5.6k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 430
Description
#10407 added proto definitions for a generic event reporting service. This issue tracks implementation details.
1. Using a bidi stream where Envoy updates the emission stream based on responses from the sink gRPC service allows for in-band flexibility. Both for:
- The types of events that Envoy emits, e.g, filter to only health check events.
- The _shape_ of the events emitted, e.g, configure the metrics events to report counters as deltas.
2. The base implementation should account for generic logic, such as:
- Stream establishment, and callbacks for custom logic over messages in the stream
- Handling versioning of in-band config updates so that the server-side gRPC service is aware of the configuration of the data stream -- useful when the shape of the data can change via in-band config updates.
Relates to https://github.com/envoyproxy/envoy/issues/8970 and https://github.com/envoyproxy/envoy/issues/10968
Contributor guide
Assessment
This issue has not been assessed yet.