Create management interface
Opened this issue · 0 comments
adamcharnock commented
What problems does this need to solve?
Use cases:
- Is everything working as expected?
- Error rates
- Services are behind
- If everything isn't working, why?
- What are the recent errors?
- Are services lacking workers?
- Are workers bouncing? (keep restarting)
- Get me the message for a given ID (bonus: search for messages based on other criteria)
- Why was this message emitted? (i.e. does it have a parent event)
- What downstream events were triggered by this event?
Backend specific information:
- Redis:
- Memory use
- Stream size / growth over time
- Last save to disk
Brain-dump of proposed features / possible interfaces:
- View services
- View workers
- View lag
- Inspection features as provided by
lightbus inspect
- View APIs
- View events
- View RPC calls
- Send events (validated against schema)
- Make RPC calls (validated against schema)
Previous implementation
A previous implementation was created with aiohttp
and React. I found this to be cumbersome, and likely a faff for other contributors to get up and running. I would like to prioritise ease of setup for the next attempt. I'm currently leaning towards Django Channels and vue.js.