dtzxporter / hydra

A framework for writing fault tolerant, highly scalable applications with the Rust programming language.
MIT License
110 stars 1 forks source link

Build a UI for the console api, similar to Erlang's Observer. #10

Open dtzxporter opened 4 months ago

dtzxporter commented 4 months ago

exp1 exp2

seivan commented 1 week ago

My suggestion would be a default built in GenServer called Observer that can be toggled on that launches with the application. Add all calls there to gather data on demand, and cache what can be cached in the state. At least that would give you a "CLI" view into the processes and genserver states and allow access programatically.

Then a separate project could have a GenServer that hosts a webserver with a few configs like pass protected or path with a few templates that can render all the data by accessing the Observer genserver.

Or even better just offer an API, preferably with a schema like OpenAPI or GraphQL (prefer the latter).

The templates could use said API, or other monitoring tools as well. If using GraphQL you static types.