All Projects → 42wim → rl

42wim / rl

Licence: MIT license
Rate limit from stdin to stdout (drop or keep messages)

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to rl

Guzzle Advanced Throttle
A Guzzle middleware that can throttle requests according to (multiple) defined rules. It is also possible to define a caching strategy, e.g. get the response from cache when the rate limit is exceeded or always get a cached value to spare your rate limits. Using wildcards in host names is also supported.
Stars: ✭ 120 (+215.79%)
Mutual labels:  rate-limiter
Diehard
Clojure library of flexible retry, circuit breaker and rate limiter
Stars: ✭ 227 (+497.37%)
Mutual labels:  rate-limiter
rate-limiter
The Rate Limiter Component provides a Token Bucket implementation to rate limit input and output in your application.
Stars: ✭ 156 (+310.53%)
Mutual labels:  rate-limiter
Curiefense
Curiefense is a unified, open source platform protecting cloud native applications.
Stars: ✭ 136 (+257.89%)
Mutual labels:  rate-limiter
Slowapi
A rate limiter for Starlette and FastAPI
Stars: ✭ 169 (+344.74%)
Mutual labels:  rate-limiter
nestjs-ratelimiter
Distributed consistent flexible NestJS rate limiter based on Redis
Stars: ✭ 49 (+28.95%)
Mutual labels:  rate-limiter
Limiter
一个注解使你的SpringBoot项目获得分布式锁和限流器能力
Stars: ✭ 93 (+144.74%)
Mutual labels:  rate-limiter
rush
rush.readthedocs.io/en/latest/
Stars: ✭ 42 (+10.53%)
Mutual labels:  rate-limiter
Limitrr
Light NodeJS rate limiting and response delaying using Redis - including Express middleware.
Stars: ✭ 203 (+434.21%)
Mutual labels:  rate-limiter
redislimiter-spring-boot
an excellent API limiting framework for Spring boot/cloud application, especially for microservice project
Stars: ✭ 64 (+68.42%)
Mutual labels:  rate-limiter
Throttler
A rate limiting module for NestJS to work with Fastify, Express, GQL, Websockets, and RPC 🧭
Stars: ✭ 145 (+281.58%)
Mutual labels:  rate-limiter
Graphql Rate Limit
🚦 Fixed window rate limiting middleware for GraphQL. Use to limit repeated requests to queries and mutations.
Stars: ✭ 171 (+350%)
Mutual labels:  rate-limiter
zlimiter
A toolkit for rate limite,support memory and redis
Stars: ✭ 17 (-55.26%)
Mutual labels:  rate-limiter
Bull
Premium Queue package for handling distributed jobs and messages in NodeJS.
Stars: ✭ 11,748 (+30815.79%)
Mutual labels:  rate-limiter
portara-website
Portara dashboard controller to change rate limit settings without redeploying your app
Stars: ✭ 42 (+10.53%)
Mutual labels:  rate-limiter
Nginx Lua Redis Rate Measuring
A lua library to provide distributed rate measurement using nginx + redis, you can use it to do a throttling system within many nodes.
Stars: ✭ 109 (+186.84%)
Mutual labels:  rate-limiter
Polite
Be nice on the web
Stars: ✭ 253 (+565.79%)
Mutual labels:  rate-limiter
sample-spring-cloud-gateway
sample spring cloud application with embedded api gateway on spring cloud gateway with or without service discovery with eureka
Stars: ✭ 25 (-34.21%)
Mutual labels:  rate-limiter
phalcon-throttler
Phalcon Throttler is a Rate Limiter for the PHP Phalcon Framework.
Stars: ✭ 19 (-50%)
Mutual labels:  rate-limiter
gentle-force
Brute-force, error and request rate limiting
Stars: ✭ 45 (+18.42%)
Mutual labels:  rate-limiter

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].