README.md

# SherlockMem

## Memory tracer for GenServer 

### Installation

- Add "use SherlockMem" in each GenServer module like this:

```elixir
defmodule Slack do
  use GenServer
  use SherlockMem
...
end

```

- At runtime enable tracing module by runing in iex console:

```elixir
SherlockMem.enable(Slack)
```

- For each init callback there will be messages like this:

```console
print_mem_before <pid> <memory_used> "init_before" <initial arguments>
print_mem_after  <pid> <memory_used> "init_after " <final state>
```

- Library is wrapping standard GenServer callbacks: init, handle_cast, handle_call, handle_info

### More details
- default log level is info
- it's using recon to get current process memory usage