Skip to content
/ rl Public

Rate limit from stdin to stdout (drop or keep messages)

License

Notifications You must be signed in to change notification settings

42wim/rl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rl

Rate limit messages from stdin. (keep or drop those exceeding the limit)

Use case

  • When sending data to mattermost (or slack), it's convenient to limit the amount of data that can be sent.

E.g. when using mattertee to send output to mattermost, you can now just pipe it through rl so that your channels aren't being flooded.

  • Tailing -f a very quickly increasing logfile when in tmux remotely ;)

Installing

Binaries

Binaries can be found [here] (https://github.com/42wim/rl/releases/)

Building

Go 1.12+ is required.

go get github.com/42wim/rl

You should now have rl binary in the ~/go/bin directory:

$ ls ~/go/bin/
rl

Usage

Usage of ./rl:
  -f string
        define a file as input
  -k    keep the messages instead of dropping them
  -r int
        limit to r messages per second (drops those exceeding the limit) (default 5)

(the number of dropped messages will be sent to stderr, when not using the -k switch)

Example

journalctl -f | rl -k -r 5

About

Rate limit from stdin to stdout (drop or keep messages)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published