You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Current http and grpc tasks support load testing a single http and grpc endpoint respectively. We want to support testing of multiple endpoints.
Design:
Load test multiple endpoints; they may share some configuration.
How should shared configuration be interpreted? In the HTTP example, does --set http.numRequests=200 mean 200 total requests? Or 200 per endpoint?
What does it look like if I want to test against a single endpoint? Do I need to include the endpoints label? In part this is a question about which configuration can be shared and which cannot.
The tasks continue to behave as it does today -- i.e., if you do not have endpoints, then you get exactly the behavior you get today.
If the tasks do have endpoint specification, then the final config of each endpoint = shared spec merged with endpoint spec. If fields are repeated across shared and endpoint specs, the latter takes precedence.
Anything field of the spec can be shared (i.e., any field is syntactically valid for sharing). In practice, we expect that users will find it more useful to share certain fields (for e.g., numRequests, this is the number of requests used for each endpoint load gen process) than others (e.g., URLs, which might have distinct values for different endpoints).
Is your feature request related to a problem? Please describe.
Current
http
andgrpc
tasks support load testing a single http and grpc endpoint respectively. We want to support testing of multiple endpoints.Design:
iter8 k launch \ --set "tasks={ready,http,assess}" \ --set ready.deploy=httpbin \ --set ready.service=httpbin \ --set ready.timeout=60s \ --set http.numRequests=200 \ --set http.endpoints.getit.url=http://httpbin.default/get \ --set http.endpoints.postit.url=http://httpbin.default/post \ --set http.endpoints.postit.payloadStr=hello \ --set assess.SLOs.upper.http/getit/latency-mean=50 \ --set assess.SLOs.upper.http/getit/error-count=0 \ --set assess.SLOs.upper.http/postit/latency-mean=150 \ --set assess.SLOs.upper.http/postit/error-count=0 \ --set runner=job
The text was updated successfully, but these errors were encountered: