# Loadex
A simple distributed load test runner.
`Loadex` was created with two things in mind - genarating huge loads in a controlled manner, while being able to fully customize the test's flow.
These goals are achieved by using plain Elixir to create *scenarios* and then laveraging Elixir's massive concurrency capabilities to run them on one or multiple machines.
Docs can be found at [https://hexdocs.pm/loadex](https://hexdocs.pm/loadex).
## Installation
Add `loadex` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[
{:loadex, "~> 0.1.0"}
]
end
```
### Example:
```elixir
defmodule ExampleScenario do
use Loadex.Scenario
setup do
1..100
end
scenario index do
loop_after 500, 10, iteration do
IO.puts("My number is \#{index}, iteration \#{iteration}!")
end
end
teardown index do
IO.puts("Bye from \#{index}!")
end
end
```
Then:
```bash
iex> Loadex.run(scenario: "./scenarios/example_scenario.exs", rate: 30, restart: true)
```
More information can be found in [the docs](https://hexdocs.pm/loadex)