hammer icon indicating copy to clipboard operation
hammer copied to clipboard

An Elixir rate-limiter with pluggable backends

Results 21 hammer issues
Sort by recently updated
recently updated
newest added

Run `for _n in {1..1000}; do make test; done` for a while, and sometimes tests will fail with: ``` mix format mix.exs "lib/**/*.{ex,exs}" "test/**/*.{ex,exs}" mix test --no-start ........ 1) test...

This is more of a question than an issue with the library - I'm currently attempting to use Hammer to ratelimit access to an external API to avoid hitting ratelimits...

Hi, Here https://github.com/ExHammer/hammer/blob/master/lib/hammer/backend/ets.ex#L138 we can see that the ETS table is an `ordered_set`. It seems to me that ordered_set are slower than `set` in most cases, except when doing traversal...

Hi, One improvement idea: allowing any key type (any erlang term) for keys, and letting the backend to deal with it if unsupported. For instance, if I want to throttle...

Who would run Redis without it? See [here](https://github.com/ananthakumaran/redix_sentinel)

**Describe the bug** I've been benchmarking hot paths in https://github.com/plausible/analytics and noticed that ExHammer check [here](https://github.com/plausible/analytics/blob/af0b97e68ae8949a96743f07cee7ac4362fe353a/lib/plausible/site/gate_keeper.ex#L71) becomes slower over time, from 11us in the beginning of [k6](https://k6.io) benchmark (it [hits...

bug

Not a bug per se, I just wanted to see if anyone had thoughts. We started using Hammer to deal with some spammers who have been using our app to...

Bumps [ex_doc](https://github.com/elixir-lang/ex_doc) from 0.31.2 to 0.34.1. Changelog Sourced from ex_doc's changelog. v0.34.1 (2024-06-30) Enhancements Add a v shortcut to open/focus the version select Compatibility fixes for Elixir v1.17 and Erlang/OTP...

dependencies
elixir

Bumps [credo](https://github.com/rrrene/credo) from 1.7.5 to 1.7.7. Release notes Sourced from credo's releases. v1.7.7 Check it out on Hex: https://hex.pm/packages/credo/1.7.7 Fix compatibility & compiler warnings with Elixir 1.17 Credo.Check.Design.SkipTestWithoutComment, Credo.Check.Refactor.PassAsyncInTestCases and...

dependencies
elixir

### Problem When `check_rate` is called for the first time, it's expected that `ms_to_next_bucket` would be qual to `scale_ms`, but that's not the case at the moment due to: 1....