envoyproxy / nighthawk

L7 (HTTP/HTTPS/HTTP2/HTTP3) performance characterization tool
Apache License 2.0
361 stars 81 forks source link

Complete design/implementation of ExecutionStream API #277

Open dubious90 opened 4 years ago

dubious90 commented 4 years ago

It is currently possible to use the ExecutionStream rpc, using only StartRequest. However, it is somewhat unclear how to implement consumers of the rpc in general, because we don't know what the ExecutionStream is going to look like when it is fully realized. Is UpdateRequest going to become necessary for many use cases?

See TODOs at https://github.com/envoyproxy/nighthawk/blob/master/api/client/service.proto

oschaaf commented 4 years ago

UpdateRequest is not functional today, but is intended as a means to tweak tests while they are in flight upon implementation. So it isn't going to be a mandatory call, but rather an opt-in one. Not entirely 1:1 related to that, but what may be good to anticipate on is that the service may return multiple ExecutionResponse messages on a stream in the future, while we only will have a single one today.