chaos-monkey
chaos-monkey copied to clipboard
Chaos Monkey is a resiliency tool that helps PHP applications tolerate random failures.
ChaosMonkey 🐒 for PHP
Chaos Monkey for PHP applications. Try to attack your running PHP App.
Assaults
- 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()
How to use
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
ChaosMonkeyobject$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 🙈🙊🙉 😈
License
ChaosMonkey is released under the MIT Licence. See the bundled LICENSE file for details.