erlyberly
erlyberly copied to clipboard
Multi Node Tracing
Allow erlyberly to connect to multiple nodes, when a trace is applied, apply it to all nodes.
- [ ] Show a list of nodes in the connection window
- [ ] Toggle traces to all connected nodes
- [ ] Show errors per node, for example when a trace cannot be applied because the module doesn't exist.
- [ ] The module list should show modules from all nodes.
- [ ] When a module exists in only one node, and than node disconnects, it should be removed, or maybe just disabled.
- [ ] Have a drop down in the disconnect button, to show multiple nodes and disconnect from them individually
- [ ] Allow connections to nodes while already connected to other nodes.
- [ ] Processes should be shown for one node, selected from a drop down.
- [ ] VM memory and xref should be disabled when more than one node is connected.
This one seems interesting
Alternatively we just use the multi node tracing in dbg:m/1 and have the concept of a "primary" traced node which will be queried for functions and other data, and "secondary" nodes where the traces will also be applied. The only big problem I see is that all nodes would need to be clustered for it to work, though erlyberly could check if they are clustered by querying erlang:nodes([connected])
on each node it is tracing on.
Need to investigate more but this seems like 20% of the work for 80% of the benefit.