Ringio (pronounced ring-yo) is a tool for creating interactive data pipes. It is what you get when you mix "screen"/"tmux" with "tee".
- Start a new ringio session
$ ringio web-logs open &
- Add some input agents
$ ringio web-logs input tail -f /var/log/httpd/access_log
Added agent %1
- Add some output agents or get output on the terminal
$ ringio web-logs output ./count-useragents
Added agent %2
$ ringio web-logs output wc -l
Added agent %3
$ ringio web-logs output # Will print to the console.
- List agents for a session:
$ ringio web-logs list
1 R <- tail -f /var/log/httpd/access_log
2 R -> ./count-useragents
3 R -> wc -l
- See the internal log for the session:
$ ringio web-logs log
- Stop the agent counting the lines:
$ ringio web-logs stop %3
- Retrieve 'wc -l' output (you can see any output by filtering it explicitly):
$ ringio web-logs output %3 -no-wait
4526
- Close the session.
$ ringio web-logs close
- Input and output agents can be filtered by writing their ID:
$ ringio my-session output 3
Will display the output of agent %3. To filter out, negate the ID of the agent (ex: -3).
You need the Go lang development environment installed and set up:
$ go get -u github.com/dullgiulio/ringio
Please see the releases page for further information.