Debug your Ruby apps 10x faster.
Depending on which research you look at, developers say they tend to spend 25–50% of their time per year on debugging.
An entirely new way to visualise Ruby apps, combining application flow, state and the code itself.
Removes a lot of what we’re having to do manually to debug apps.
It is a paradigm shift in how we engineer software.
Works out of the box, supporting any Ruby based app.
This is just the beginning.
- What is Hyperlayer? (00:08)
- Why Hyperlayer? (04:40)
- Meet the demo app (05:31)
- Debugging with Hyperlayer - Viewing spec runs (09:34)
- Debugging with Hyperlayer - Application flow & state (10:39)
- Debugging with Hyperlayer - Code view (17:56)
- We’ve fixed our bug (25:37)
- Closing notes (27:47)
Add the gem to your Gemfile
gem 'hyperlayer'
Hyperlayer adds a few tables so bundle exec rake db:migrate
In your spec_helper.rb
add:
RSpec.configure do |config|
# Add this block
config.around(:each) do |example|
trace = Hyperlayer::Tracer.setup_trace
trace.enable
example.run
trace.disable
end
...
end
Finally mount the UI by adding this to your routes.rb
:
mount Hyperlayer::Engine => '/hyperlayer'
Note: You must have Redis installed and running locally.
Once you have completed the above, running a spec will cause the events to be emitted to Redis.
In order to listen to/process the events, the following must be running:
rake hyperlayer:listen
You should see events coming in as they are processed.
Now simply load http://localhost:3000/hyperlayer
.
For better instructions I recommend you watch the video - choose one of the "Debugging with Hyperlayer" chapters above!
@Geoff this is the future, like how git changed collaboration, this is going to change debugging - it's amazing — Badr Tazi
This is a PoC - so I'm super keen for any feedback. Please feel free to reach out!
I'm Geoff Wright - Co-Founder & Chief Technology Officer at Tembo Money - the only place in the UK you can view your true house buying budget.
This is a PoC - so I'm super keen for any feedback. Please feel free to reach out!