Overview Version History Q & A Rating & Review
Failure Lab
Local chaos engineering for developers. Inject faults into HTTP traffic without touching your code.
What it does
Failure Lab runs a local proxy that intercepts HTTP requests and injects configurable faults — delays, errors, timeouts, and dropped connections. Use it to test how your application handles real-world network failures before they happen in production.
Features
6 fault types : Fixed Delay, Jitter, Fail Rate, Timeout, Status Override, Drop Connection
Rule-based matching : Target specific hosts, paths, methods, and headers
Quick presets : One-click fault scenarios (Slow Network, Service Outage, Flaky Errors, etc.)
Live dashboard : Real-time stats, latency chart, and event log in the VS Code sidebar
Auto-start : The Java core starts automatically when you open VS Code
Import/Export : Share fault configurations with your team
How it works
Failure Lab starts a proxy on localhost:7777 and an API on localhost:7778
Point your application's HTTP client to use localhost:7777 as a proxy
Create rules in the sidebar to inject faults on matching requests
Toggle chaos on/off with a single click
Requirements
Java 21+ (auto-detected from PATH, JAVA_HOME, or Gradle JDKs)
The Failure Lab core JAR (included in the project, or auto-detected)
Fault Types
Type
Description
Fixed Delay
Adds a constant delay to responses
Jitter
Adds a random delay within a range
Fail Rate
Returns error status codes at a configurable rate
Timeout
Holds the connection open without responding
Status Override
Replaces the response with a custom status and body
Drop Connection
Abruptly closes the connection
Extension Settings
Setting
Default
Description
failureLab.corePath
auto-detect
Path to the core JAR file
failureLab.javaHome
auto-detect
Path to Java 21+
failureLab.autoStart
true
Start core on activation
failureLab.autoRestart
true
Restart core if it crashes
failureLab.coreArgs
[]
Additional CLI arguments
Commands
Failure Lab: Toggle Chaos — Enable/disable fault injection
Failure Lab: Start/Stop/Restart Core — Manage the proxy process
Failure Lab: Show Core Logs — View proxy output
Failure Lab: Import/Export Rules — Share configurations