envoyproxy/envoy
View on GitHubevent emission: implement generic event reporting gRPC client
Open
#10,966 opened on Apr 27, 2020
area/observabilityarea/service discoverydesign proposalhelp wanted
Repository metrics
- Stars
- (27,997 stars)
- PR merge metrics
- (Avg merge 8d) (378 merged PRs in 30d)
Description
#10407 added proto definitions for a generic event reporting service. This issue tracks implementation details.
- 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.
- 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