• Stars
    star
    124
  • Rank 288,207 (Top 6 %)
  • Language
    Go
  • License
    GNU General Publi...
  • Created almost 10 years ago
  • Updated over 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Ringbuffer-backed interactive data pipeline

RINGIO

Build Status

Ringio (pronounced ring-yo) is a tool for creating interactive data pipes. It is what you get when you mix "screen"/"tmux" with "tee".

Usage

  • 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

Filtering

  • 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).

Installation

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.