Application Resilience Testing
Stampede targets and randomly kills the processes and ports belonging to a given application or supervisor, with a definable intensity.
Fine-grained control over what to really kill can be achieved with user-defined callbacks.
%% Start the stampede application
ok=application:start(stampede).
%% The target application must be running
{ok, _}=application:ensure_all_started(my_app).
%% Start stampede
{ok, _}=stampede:start_herd(my_stampede, {application, my_app}).
%% Activate stampede
ok=stampede:activate(my_stampede).
%% ... Wait and see what happens ...
%% Stop stampede
ok=stampede:stop_herd(my_stampede).