https://github.com/eproxus/tap
Recon wrapper for Elixir
https://github.com/eproxus/tap
Last synced: about 1 year ago
JSON representation
Recon wrapper for Elixir
- Host: GitHub
- URL: https://github.com/eproxus/tap
- Owner: eproxus
- License: apache-2.0
- Created: 2015-09-21T09:14:10.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2017-09-27T07:46:48.000Z (over 8 years ago)
- Last Synced: 2025-02-27T15:37:37.530Z (over 1 year ago)
- Language: Elixir
- Size: 27.3 KB
- Stars: 62
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://hex.pm/packages/tap)
[](https://github.com/eproxus/tap/blob/master/LICENSE)
[](http://travis-ci.org/eproxus/tap)
# Tap
*Because Erlang's tracing is awesome and
doing compile time debugging sucks!*
## Description
Tap enables tracing of Elixir and Erlang functions in a intuitive and safe way.
```
iex(1)> require Tap
nil
iex(2)> Tap.call(String.strip(_, _), max: 4)
2
iex(4)> String.strip("test", ?t)
"es"
21:52:36.972255 #PID<0.88.0> String.strip("test", 116)
21:52:36.972711 #PID<0.88.0> String.strip/2 --> "es"
iex(5)> String.strip("test", "te")
** (FunctionClauseError) no function clause matching in String.lstrip/2
(elixir) lib/string.ex:527: String.lstrip("test", "te")
(elixir) lib/string.ex:564: String.strip/2
21:52:42.094718 #PID<0.88.0> String.strip("test", "te")
21:52:42.095231 #PID<0.88.0> String.strip/2 ** (FunctionClauseError) no function clause matches
Recon tracer rate limit tripped.
iex(6)>
```
Tap wraps the excellent [Recon](https://github.com/ferd/recon) library, adding
native Elixir formatting and macros for creating traces in an intuitive way.