curses
rack-mini-profiler
curses | rack-mini-profiler | |
---|---|---|
4 | 21 | |
285 | 3,655 | |
0.0% | 0.4% | |
2.8 | 7.5 | |
8 days ago | 3 months ago | |
C | Ruby | |
GNU General Public License v3.0 or later | 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.
curses
-
CLI tools at Aha!
As we make updates to our ops and similar CLI utilities, we often improve the user experience by taking advantage of various Ruby gems. With little effort compared to low-level coding with curses, our command-line utilities that used to be cryptic and confusing are now interactive, easy to use, and — dare I say — elegant.
-
Ncurses in Ruby style?
https://github.com/ruby/curses is the official ncurses gem for ruby
-
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?
As a follow up, if anyone is interested in working on something like this, Ruby has an official curses gem supporting the curses family of libraries.
-
Parallel progress output from different threads
First, a word of caution. "Updating" a terminal or console is possible, but it is rife with gotchas and inconsistencies. The go to library/application for this type of interfaces is Curses. There are Ruby bindings, but this injects a system dependency that may or may not be available on a given platform. Also, Curses is way overkill if all you're doing is output.
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
- How to reduce memory usage for your Rails app - R14 - Memory Quota Exceeded in Ruby (MRI)
- 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
What are some alternatives?
cpaint - https://briancallahan.net/blog/20220220.html
bullet - help to kill N+1 queries and unused eager loading
posix - POSIX/C bindings generator for the Crystal programming language
ruby-prof - A ruby profiler. See https://ruby-prof.github.io for more information.
PDCurses - A curses library for environments that don't fit the termcap/terminfo model.
Peek - Take a peek into your Rails applications.
newt - Mirror of https://pagure.io/newt.git
Derailed Benchmarks - Go faster, off the Rails - Benchmarks for your whole Rails app
vifm - Vifm is a file manager with curses interface, which provides Vim-like environment for managing objects within file systems, extended with some useful ideas from mutt.
benchmark-ips - Provides iteration per second benchmarking for Ruby
reline - The compatible library with the API of Ruby's stdlib 'readline'
perftools.rb - gperftools for ruby code