Open LionsAd opened 3 years ago
My intent is to implement the UI in a different library. So for example, you could build a CLI load test with a dependency on goose
, or a UI-controlled load test with a dependency on gooseui
(or something more specifically named, such as gooseactix
).
The idea is to try https://yew.rs/ for UI. This is mostly a note to self :)
Did a bit of research and here is my plan:
setOption()
to dynamically update the graph (https://echarts.apache.org/examples/en/editor.html?c=dynamic-data&reset=1&edit=1)Ideally we will need a new command for the console, that will instruct Goose to periodically send updated metrics (or diffs ideally).
I was thinking to create an MVP without graphs at the beginning (starting, stopping, ...) and add graphs after that.
Work is going on in https://github.com/tag1consulting/goose-ui
Hi I'm new here and to rust in general but heavily investing in writing most of my backend in rust. So I was looking for load testing in rust and found this. IMO how about we use Tauri for this and build a UI in react or vue to make a proper cross-platform app? I'm a Vue guy and I can contribute if someone's ready to help a little with my rust :)
The goal is that it's possible to have any number of UI's.
One such example is a work in progress in https://github.com/tag1consulting/goose-ui -- but it intentionally is external from the main Goose repo to allow for different UI solutions to be developed as well.
It is expected that the UI will control the load test through the web sockets: https://book.goose.rs/controller/websocket.html
Goose currently only supports the following commands (more will certainly need to be added as the UI evolves): https://docs.rs/goose/latest/goose/controller/enum.ControllerCommand.html
Requests are formatted as follows: https://docs.rs/goose/latest/goose/controller/struct.ControllerWebSocketRequest.html
And replies are formatted similarly: https://docs.rs/goose/latest/goose/controller/struct.ControllerWebSocketResponse.html
@jeremyandrews That's interesting. I'll try working with this soon :) Thanks