Comments (8)
My trace/3
function has the signature:
@spec trace(Rexbug.trace_pattern(), Keyword.t(), Inspect.Opts.t()) ::
Rexbug.rexbug_return()
def trace(pattern, trace_opts \\ [], inspect_opts \\ [])
So any limit
can be passed into inspect_opts, but yea that default could be :infinity, likewise ansi color codes can be disabled with syntax_colors: []
.
from rexbug.
Looks nice - my 2c - printing option infinity rather than truncate any output - frequently use tools like rexbug whilst hunting for the proverbial needle in the haystack
from rexbug.
@axelson I believe it was in this Gist: https://gist.github.com/Dkendal/116063f23ab70ba764a0aa17a9fa3eb7
from rexbug.
@bryanhuntesl The default actually is required to be :infinity
, or some non-zero integer as of Elixir 1.11.0. They made some changes to the guards in Inspect.Algebra
. I have a PR open that sets the default, but it hasn't been addressed in this repo.
@Dkendal I would be extremely interested in that PR. I'm tired of spending half an hour or more trying to space and indent to get into the depths of a huge data structure! If you're okay with opening it against my fork, peek-travel/rexbug, then I'll merge it on my side and open a PR back to this repo for when the author has time.
from rexbug.
Hey @Dkendal, sorry I didn't reply sooner, my Github notifications weren't configured right and I missed the issue altogether.
A pretty printer for Rexbug sounds great - making the tracing output more readable might in many situations make a huge difference when you need it the most.
I'd be down to make it an option for Rexbug and I'd be happy to help.
I have one ask I'd like to make in advance - It was always important to me that Rexbug doesn't have any hard dependencies other than redbug. If the pretty printing ends up being provided by an external library, I'd like the dependency to be optional and for Rexbug to be usable (without the pretty printing, naturally) without it.
from rexbug.
@Dkendal do you have that code in a fork somewhere? I'm not seeing anything on your GitHub.
from rexbug.
from rexbug.
That would be much appreciated!
from rexbug.
Related Issues (20)
- Conduct extensive integration tests...
- Consider moving integration tests to use the blocking syntax HOT 1
- Document option meanings
- Document tracing on a remote node that doesn't have rexbug installed HOT 1
- Provide Elixir-style trace printing (by default) HOT 4
- Investigate tracing inlined functions
- add missing print_pids option documentation HOT 1
- Investigate `unknown_message: stop` warnings in tests HOT 1
- Fix tuple_size in guards
- Support matching maps HOT 8
- print_msec option doesn't work HOT 2
- Is it possible to use Rexbug to trace messages send/received by processes? HOT 2
- Change the license to Apache 2.0
- Add information for tracing a single function high in the readme
- any idea how to trace `apply/3` HOT 3
- Inspect.Error: got FunctionClauseError with message "no function clause matching in Inspect.List.keyword/2" while inspecting Phoenix.LiveView.Socket HOT 2
- (FunctionClauseError) no function clause matching in Inspect.Algebra.container_each/6 HOT 4
- Migrate to redbug 2.x HOT 4
- Needs the ability to be able to trace on is_struct or by pattern matching map fields HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rexbug.