DEV Community

Gabor Koos
Gabor Koos Subscriber

Posted on • Originally published at blog.gaborkoos.com

Introducing the Fetch Client Chaos Arena

There are many HTTP clients in the JavaScript ecosystem, and while they all solve similar problems, they can behave very differently under stress, retries, and failures. Picking the right one is not always straightforward.

Introducing ffetch-demo: a live browser arena for benchmarking JavaScript HTTP clients under controlled network chaos. The idea is simple: run the same request workload through different clients and compare how they behave when conditions get rough.

Chaos Arena screenshot

In the demo, you can configure chaos scenarios such as:

  • latency injection
  • random failures and drops
  • status-code spikes
  • retry pressure and timeout stress

Built With chaos-fetch

The chaos layer in the arena is powered by @fetchkit/chaos-fetch, which makes it easy to apply deterministic and randomized network stressors through middleware-style configuration.

Current clients in the arena:

  • native fetch
  • axios
  • ky
  • @fetchkit/ffetch

The output focuses on practical reliability signals (success/failure rates, error patterns, and latency distributions) so you can quickly see behavioral differences between clients.

Live demo: fetch-kit.github.io/ffetch-demo

GitHub: fetch-kit/ffetch-demo

Further Reading

If you want to go deeper into the testing philosophy and tooling around this demo, these earlier posts provide context:

If you have ideas for additional scenarios or clients, feedback and contributions are very welcome.

Top comments (0)