Chaos Monkey for PHP applications. Try to attack your running PHP App.
- Latency Assault - adds a delay randomly from the range (min and max)
- Exception Assault - throws given exception class
- Memory Assault - fill memory until target fraction (95% for example)
- Kill Assault - no mercy, plain
exit()
The best experience you can get is using ready-made integrations:
- Symfony: ChaosMonkeySymfonyBundle
- Laravel: ChaosMonkeyLaravelPackage (in progress)
If your framework is missing, open an issue or use this package manually:
- Install with composer:
composer require chaos-php/chaos-monkey
- Create
ChaosMonkey
object$settings = new Settings(); $chaosMonkey = new ChaosMonkey([ new LatencyAssault($settings), new MemoryAssault($settings), new ExceptionAssault($settings), new KillAppAssault($settings) ], $settings);
- Configure settings and trigger chaos monkey in the working place of the application:
$settings->setExceptionActive(true); $settings->setExceptionClass(\RuntimeException::class); $settings->setProbability(100); $settings->setEnabled(true); $chaosMonkey->call();
- Watch your app plunge into chaos 🙈🙊🙉 😈
ChaosMonkey is released under the MIT Licence. See the bundled LICENSE file for details.