# Twine
Twine is a tracing tool based on Ferd's wonderful [`recon_trace`](https://ferd.github.io/recon/recon_trace.html).
`recon_trace` is great for providing a safe way to debug live BEAM systems,
but can be a little unweidly, especially on Elixir systems. `Twine` is a wrapper
for `recon_trace`, and adds a familiar, friendly, syntax.
## Usage
In a remote shell for your running process,
```ex
require Twine
Twine.print_calls(MyModule.my_function(_arg1, _arg2), 3)
```
Just like `recon_trace`, this will print the first three calls to
`MyModule.my_function/2`, but will do so in Elixir syntax.
You can even match specific calls by using pattern matching. This will
print all calls to `handle_call` for the :ping call.
```ex
require Twine
Twine.print_calls(MyModule.handle_call(:ping, _arg2), 3)
```
More details are provided in the hex docs.
## Installation
```elixir
def deps do
[
{:twine, "~> 0.1.0"}
]
end
```