The (GitHub) Scientist Gem

Hello fellow Upcasers!

Recently came across this and thought it could be a pretty interesting topic for us to discuss as well as a new tool to be aware of!

GitHub’s Scientist gem allows you to test your newly refactored code in production with real users and benchmark it against your existing (old) code, without the new code ever affecting or failing in a way that your users will experience.

Set up your experiment blocks around your method calls and then choose a percentage of requests that you experiment on. Scientist continues to return the existing (old) code’s results to the user and compares that result to the experiment’s result in a way that you can review and graph.

It even catches and isolates exceptions that are thrown so that you can fix issues in new or old code before you have users actually receive the results for it.

Have any of you guys used this yet? Are you planning to? I’m interested to hear your thoughts!

Included below are the repo as well as a few articles on it from GitHub.