SLShakyLineGitHub
reference

Fault profiles

Profiles define how ShakyLine changes traffic in each direction of a TCP session.

Directional profile

Use c2s fields for client-to-server behavior and s2c fields for server-to-client behavior. This is useful when uploads and downloads need different failure conditions.

directional profile
{
  "c2s_latency_ms": 200,
  "c2s_jitter_ms": 30,
  "c2s_drop_rate": 0.05,
  "s2c_latency_ms": 100
}

Fields

c2s_latency_msuint32

Fixed client-to-server latency in milliseconds.

c2s_jitter_msuint32

Random client-to-server latency variance.

c2s_drop_ratefloat

Client-to-server drop probability from 0 to 1.

c2s_throttle_kbpsuint32

Client-to-server bandwidth limit in kbps.

c2s_stall_probfloat

Client-to-server stall probability from 0 to 1.

s2c_latency_msuint32

Fixed server-to-client latency in milliseconds.

s2c_jitter_msuint32

Random server-to-client latency variance.

s2c_drop_ratefloat

Server-to-client drop probability from 0 to 1.

s2c_throttle_kbpsuint32

Server-to-client bandwidth limit in kbps.

s2c_stall_probfloat

Server-to-client stall probability from 0 to 1.

latency_msuint32

Convenience shorthand applied to both directions.

drop_ratefloat

Convenience shorthand applied to both directions.

Common presets

slow api
{"latency_ms":300,"drop_rate":0.01}
bad upload
{"c2s_throttle_kbps":128,"c2s_drop_rate":0.04}
jittery realtime
{"c2s_jitter_ms":100,"s2c_jitter_ms":100}