Skip to content

galtzo-floss/react-rails-benchmark_renderer

Repository files navigation

React::Rails::BenchmarkRenderer

This idea started with a PR I sent to actual react-rails before it hit 1.0 release. I didn't have time to finish it then, and the structure of the react-rails codebase changed considerably, so it is now quite easy to write a renderer as a plugin.

This gem is a plugin to ract-rails providing two things:

  1. React::ServerRendering::Concern::Instrumentation
  • benchmarking instrumentation of the sort found in rails view rendering
  • can be included into any Renderer to add Benchmarking to it
  1. React::ServerRendering::BenchmarkRenderer
  • a reference implementation of React::ServerRendering::Concern::Instrumentation

Installation

Add this line to your application's Gemfile:

gem 'react-rails-benchmark_renderer'

And then execute:

$ bundle 

Or install it yourself as:

$ gem install react-rails-benchmark_renderer 

Usage

To simply use the reference implementation, just edit your application.rb with:

 config.react.server_renderer = React::ServerRendering::BenchmarkRenderer 

To roll your own renderer:

Use Concern::Implementation to enhance any React ServerRendering Renderer with benchmarking.

Usage is just like you can see in the reference implementation:

require "react/server_rendering/concerns/instrumentation" # Extends SprocketsRenderer for benchmarking in the Rails environment # - benchmarks rendering in the same manner as Rails view rendering is benchmarked by Rails module React module ServerRendering class BenchmarkRenderer < SprocketsRenderer include Concerns::Instrumentation end end end

Development

After checking out the repo, run bin/setup to install dependencies. Then, run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release to create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

  1. Fork it ( https://github.com/[my-github-username]/react-rails-benchmark_renderer/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

About

Concern::Instrumentation Plugin for React::Rails Render Benchmarking with a reference implementation

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •