ringio

by dullgiulio

dullgiulio / ringio

Ringbuffer-backed interactive data pipeline

127 Stars 3 Forks Last release: Not found GNU General Public License v3.0 147 Commits 3 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

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
    bash
    $ ringio web-logs open &
    
  • Add some input agents
    bash
    $ ringio web-logs input tail -f /var/log/httpd/access_log
    Added agent %1
    
  • Add some output agents or get output on the terminal
    bash
    $ 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:
    bash
    $ ringio web-logs list
    1 R  ./count-useragents
    3 R -> wc -l
    
  • See the internal log for the session:
    bash
    $ ringio web-logs log
    
  • Stop the agent counting the lines:
    bash
    $ ringio web-logs stop %3
    
  • Retrieve 'wc -l' output (you can see any output by filtering it explicitly):
    bash
    $ ringio web-logs output %3 -no-wait
    4526
    
  • Close the session.
    bash
    $ ringio web-logs close
    

Filtering

  • Input and output agents can be filtered by writing their ID:
    bash
    $ 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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.