ExBench
/ Hexdocs
An application for white box load testing
Default configuration (dev running standalone)
config :ex_bench,
workers: 10,
overflow: 2,
concurrency: 3,
bench_fun: fn x -> IO.inspect(x) end,
producer: ExBench.FileProducer,
producer_argument: %{filename: "priv/example.consult"}
Application design / Supervision structure
Recording a trace ...
Capture a single invocation of
Erlang example :
'Elixir.ExBench.Capturer':capture("/tmp/foo.txt" , [ {trace_pattern, {io, format, 2}}, {count, 1}]).
Elixir example :
ExBench.Capturer.capture("/tmp/foo.txt" , [ trace_pattern: {:io, :format, 2}, count: 1])
Supported Elixir/OTP versions
See travis build for definitive, up-to-date, test matrix.
| Elixir | OTP |
|---|---|
| 1.6 | 19 |
| 1.6 | 20.3 |
| 1.6 | 21 |
| 1.7 | 19 |
| 1.7 | 20.3 |
| 1.7 | 21 |
| 1.7 | 22 |
| 1.8.1 | 20.3 |
| 1.8.1 | 21 |
| 1.8.1 | 22 |
| 1.9.0 | 20.3 |
| 1.9.0 | 21 |
| 1.9.0 | 22 |
| ------ | ------ |
Tricks
Make a bigger input arguments file
for i in `seq 1 10000` ; do echo "{test1,{\"$i\", <<7,166>>, #{},[],false, #{<<\"x\">> => <<\"y\">>}}}." ; done >> test/consult.me