# BonyTrace
Print all messages sent or received by a process.
## How to use
```ex
iex> BonyTrace.start(Process.whereis(:init))
1
iex> :init.restart
:ok
#PID<0.0.0> <-- +0.000000s
{#PID<0.548.0>, :get_status}
#PID<0.0.0> --> #PID<0.548.0> +0.000007s
{:init, {:started, :started}}
#PID<0.0.0> <-- +0.000180s
{:stop, :restart}
#PID<0.0.0> --> #PID<0.527.0> +0.000005s
{:EXIT, #PID<0.492.0>, :shutdown}
```
You can also set a `:receiver` function to get more info from the recerver's pid:
```ex
spawn(fn ->
BonyTrace.start(self(), receiver: &Process.info(&1, :initial_call))
send(self(), :hi)
receive do
_msg ->
# keep alive 1s
:timer.sleep(1000)
:ok
end
end)
```
## Installation
adding `bony_trace` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[
{:bony_trace, "~> 0.1.3", only: [:dev]}
]
end
```