geoffw8 / hyperlayer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

⚡️ Hyperlayer

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.

What is Hyperlayer?

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.

Watch the video

Introduction to Hyperlayer

Getting setup

Installation

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.

Using the app

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!

Feedback

@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!

Author

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!

About

License:MIT License


Languages

Language:CSS 82.7%Language:Ruby 13.4%Language:HTML 3.7%Language:JavaScript 0.3%Language:SCSS 0.0%