The new year finds us with a new feature for lightning-fast debugging sessions @SkroutzDevs - Breakpoints in Production HTTP Requests https://t.co/kKUTndUkMd
How to be a top 10% Ruby perf team:
1. SLO-based queues
2. RMP in all environments
3. RUM in browser
4. Autoscale web and worker
5. Instrument request queue time
6. Automated alerts/SLOs in Terraform
7. Prosopite/strictloading in tests
8. Latest Ruby w jemalloc
9. Turbo
These gems are fine, but IME 90% of N+1s in apps cannot be fixed simply by adding a preload/eager_load in the right place. This is why I prefer "fail hard"/andon cord approaches like prosopite, which doesn't propose that it always has the solution
The CGRP Slack's favorite Ruby performance gems:
https://t.co/0aCiC2Nc7t
https://t.co/VEIwYCf6K0
https://t.co/5dELRUYjb1
https://t.co/FKosAOInfS
https://t.co/ehjvHKm8p1
Buy any of my books/courses to get access to my Slack. It's often my reader's favorite part!
@nateberkopec Thanks again for the publicity! Apart from dev+test envs, we are also running it in the production http traffic of @SkroutzDevs with a 5% request sampling & custom logger to Sentry.
@SanchezDav90@andrewmcodes@rubyforall I had an issue with bullet talking way, way too much overhead. I’m talking over 90% of the time spend for bullet. I replaced it with prosopite. It does the same and no visible overhead. My crazy went from 15 minutes to 1 minute (it does a lot I know)
@charkost Thank you for the feedback.
I actually have a gem that uses Prosopite to automatically detect n+1s and report them on GitHub pull requests:
https://t.co/9ANWO1DdFX
The intention for this article, though, was to cover the basic principles. So tools were out of scope 🤓
@MorriceGavin Nice post! One option apart from manually checking the rails log for identifying n+1 queries is to use auto-detection gems like Prosopite and save a lot of time :) https://t.co/K03bDyilM1
we've been using Prosopite at Gusto for a minute (implemented by others, not by me) and it's a significant improvement on Bullet. Check it out: https://t.co/Y0QOs0QZ9O
In OSS, there are no sprints, stand-ups, retrospectives, 1:1s, 360s, quarters, velocities, estimations, deadlines, project managers, "how is this going", year goals, ..., could go on and on.
Yet it ships non-stop and runs the world.