rack-mini-profiler
bullet
Our great sponsors
rack-mini-profiler | bullet | |
---|---|---|
21 | 27 | |
3,640 | 6,976 | |
0.5% | - | |
7.5 | 7.7 | |
about 1 month ago | 2 months ago | |
Ruby | Ruby | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rack-mini-profiler
-
RoR Debugbar
Author of peek here. Honestly, I got burnt out. We stopped using this internally at GitHub which made it difficult to continue working on. Rails was going through its identity crisis with asset pipelines.
https://github.com/MiniProfiler/rack-mini-profiler gets you most of the way there and comes by default in the Gemfile for new Rails applications.
-
For RoR, see in production every method call, parameter and return value
This already exists to some degree: https://github.com/MiniProfiler/rack-mini-profiler
- benchmark sql queries in an action?
-
A Trick For Reading Flamegraphs
rack-mini-profiler will generate flamegraphs for Rails backend requests.
-
How to make Turbo frames load faster?
Have you tried using https://github.com/MiniProfiler/rack-mini-profiler to get a clear breakdown of where your server is spending it's time filling the requests? If rack-mini-profiler is too much for you to deal with right now, you can still get a good idea just using the https://github.com/ruby/benchmark gem and wrapping some of your requests in a benchmark.
-
Active_storage first time need help!
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" gem "rails", "~> 7.0.4" # The original asset pipeline for Rails [https://github.com/rails/sprockets-rails] gem "sprockets-rails" # Use sqlite3 as the database for Active Record gem "sqlite3", "~> 1.4" # Use the Puma web server [https://github.com/puma/puma] gem "puma", "~> 5.0" # Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails] gem "importmap-rails" # Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev] gem "turbo-rails" # Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev] gem "stimulus-rails" # Build JSON APIs with ease [https://github.com/rails/jbuilder] gem "jbuilder" # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ] # Reduces boot times through caching; required in config/boot.rb gem "bootsnap", require: false # Use Sass to process CSS # gem "sassc-rails" # Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images] # gem "image_processing", "~> 1.2" group :development, :test do # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem gem "debug", platforms: %i[ mri mingw x64_mingw ] end group :development do # Use console on exceptions pages [https://github.com/rails/web-console] gem "web-console" # Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler] # gem "rack-mini-profiler" # Speed up commands on slow machines / big apps [https://github.com/rails/spring] # gem "spring" end group :test do # Use system testing [https://guides.rubyonrails.org/testing.html#system-testing] gem "capybara" gem "selenium-webdriver" gem "webdrivers" end
- What are the main suspects in a really slow Rails app?
-
My project: railstart app
rack-mini-profiler
-
Troubleshooting a RoR Application in Production
For a quick ad hoc peek at the performance of pages that you can request yourself, without having to go through the hoops of connecting to and committing to an external service, this gem can also be useful: https://github.com/MiniProfiler/rack-mini-profiler
-
Ok y’all. How can we get this kind of real-time memory profiling in Ruby? Does it already exist? Is anyone working on this?
It also has things like Rack Mini-Profiler which tie them together for Rack-based applications.
bullet
- What was the name of the gem that finds all unindexed foreign keys?
-
Ban 1+N in Django
Rails has Bullet[0] to help identify and warn you against N+1
Does Django have anything active? Quick search revealed nplusone[1] but its been dead since 2018.
-
Inherited rails app - what the hell are all these rack timeout lines in the log?
Without seeing more of the app, it's tough to say for certain, but one gem you might find helpful is the [bullet](https://github.com/flyerhzm/bullet) gem -- set this up in the app then start browsing around the app in development. If you have any N+1 queries or other minor optimizations that could be done it will inform you about them.
-
A Guide to Memoization in Ruby
Getting rid of N+1 queries - This can help improve the speed of an app. The Bullet or Prosopite gems can give a lending hand here. The N+1 Dilemma — Bullet or Prosopite? entails a brief comparison of both.
-
Understanding N and 1 queries problem
There's a Ruby gem called Bullet that identifies and warns developers about N+1 problems. You can also have it fail tests if detected.
I don't know if the approach is possible with every ORM or if it's just leveraging some Ruby perks, but I can't think of a good reason why you wouldn't use the equivalent everywhere.
-
How do you find the cause of slowness in your app?
This is good advice, it'll likely pick out some glaring issues right away. I would generally recommend looking at DB queries here too and recommend Bullet, but most software like DataDog, AppSignal etc will often also point N+1 and issues like it out.
- What are the main suspects in a really slow Rails app?
-
Best way to learn query optimization?
You could add the bullet gem to your project. It can notify you (in a variety of ways) if your queries can be optimised.
-
My project: railstart app
bullet
-
Prosopite gem a year after its release hits 785 stars! Thanks!
I first posted prosopite in this subreddit a year ago as an alternative to bullet.
What are some alternatives?
prosopite - :mag: Rails N+1 queries auto-detection with zero false positives / false negatives
ruby-prof - A ruby profiler. See https://ruby-prof.github.io for more information.
Peek - Take a peek into your Rails applications.
Derailed Benchmarks - Go faster, off the Rails - Benchmarks for your whole Rails app
benchmark-ips - Provides iteration per second benchmarking for Ruby
perftools.rb - gperftools for ruby code
Timeasure - Transparent method-level wrapper for profiling purposes in Ruby
Rbkit - A new profiler for Ruby. With a GUI