Network Conditions

Add latency and jitter, cap bandwidth and inject connection failures, globally or for a single host.

Mac iPhone and iPad

Network Conditions lets you test the bad network from a good one. Pick a profile for all traffic, add rules that give particular hosts their own profile, and watch how the app copes with a slow API, a flaky connection or no connection at all.

Profiles#

Start from a preset and adjust it. The presets use conservative, reproducible numbers rather than pretending to model a particular carrier.

PresetDownloadUploadLatencyJitterLoss
Offline100%
Very Bad Network128 kbps64 kbps800 ms400 ms5%
2G / EDGE250 kbps100 kbps400 ms80 ms1%
Slow Network780 kbps330 kbps200 ms40 ms0%
3G1.6 Mbps750 kbps150 ms30 ms0%
Medium Network4 Mbps1 Mbps100 ms20 ms0%
4G / LTE12 Mbps5 Mbps50 ms10 ms0%
Wi-Fi30 Mbps15 Mbps20 ms5 ms0%
Wi-Fi 802.11ac240 Mbps120 Mbps5 ms2 ms0%

Offline is modelled as every connection failing, not as a bandwidth of zero, so the app sees a real failure rather than a request that hangs forever.

Global profile and host rules#

  • The global profile applies to everything WireLens captures.
  • Host rules give a matching host its own profile. Rules are checked in order, so put a specific host above a broad wildcard.

A common setup: leave the global profile unthrottled and give only your payments or upload host a Very Bad Network profile.

Where each setting applies#

WireLens shows this on screen too, under How this is applied:

  • Latency, jitter, loss and upload speed apply to every exchange, plain HTTP and decrypted HTTPS alike, before WireLens connects to the server. Loss means the exchange is reset, since there is no individual packet to drop once the connection is terminated at the proxy.
  • Download bandwidth is shaped on plain HTTP. Decrypted HTTPS reuses upstream connections across requests, and per-request shaping there would slow down unrelated requests on the same connection, so download limits are not applied to it.

Free and Pro#

The free plan shapes one thing at a time: the global profile, or one host rule. Pro lets you throttle as many hosts independently as you need.

From the command line and MCP#

bash
wirelens rules throttle --delay 400

The MCP tools are set_network_condition_profile for profiles and host rules, and set_throttle for a simple delay.

Something here is unclear, or wrong for your setup? Contact support or write to support@wirelens.app.