-
Notifications
You must be signed in to change notification settings - Fork 375
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[PROF-9342] Introduce profiler workaround for Ruby Dir interruption bug #3720
[PROF-9342] Introduce profiler workaround for Ruby Dir interruption bug #3720
Commits on Jun 13, 2024
-
Expose methods for holding/resuming interruptions
These will be needed to implement the dir interruption workaround.
Configuration menu - View commit details
-
Copy full SHA for b03696e - Browse repository at this point
Copy the full SHA b03696eView commit details -
Bootstrap setting for controlling dir interruption workaround
Not yet wired up.
Configuration menu - View commit details
-
Copy full SHA for aeb2db6 - Browse repository at this point
Copy the full SHA aeb2db6View commit details -
Add monkey patches for affected dir class APIs
I've separately tested these with ruby-spec, but haven't integrated it yet for automated testing. Will do it a follow-up commit.
Configuration menu - View commit details
-
Copy full SHA for 88f1164 - Browse repository at this point
Copy the full SHA 88f1164View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3c51234 - Browse repository at this point
Copy the full SHA 3c51234View commit details
Commits on Jun 14, 2024
-
Add benchmark for hold/resume interruptions
For future reference, here's what I get on my local machine: ``` ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux] Warming up -------------------------------------- hold / resume 391.856k i/100ms Calculating ------------------------------------- hold / resume 3.829M (± 1.9%) i/s - 38.402M in 10.033530s ```
Configuration menu - View commit details
-
Copy full SHA for 1721270 - Browse repository at this point
Copy the full SHA 1721270View commit details -
Configuration menu - View commit details
-
Copy full SHA for 42c40b2 - Browse repository at this point
Copy the full SHA 42c40b2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 25a96a1 - Browse repository at this point
Copy the full SHA 25a96a1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 57e64bf - Browse repository at this point
Copy the full SHA 57e64bfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e80c77 - Browse repository at this point
Copy the full SHA 0e80c77View commit details -
Configuration menu - View commit details
-
Copy full SHA for 577fdb0 - Browse repository at this point
Copy the full SHA 577fdb0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 43a3e5e - Browse repository at this point
Copy the full SHA 43a3e5eView commit details -
Add nice description to dir interruption workaround setting
...that mentions #3450 .
Configuration menu - View commit details
-
Copy full SHA for 9152470 - Browse repository at this point
Copy the full SHA 9152470View commit details -
Tweak spec for compatibility with Ruby 2.7
Looks like the `sort:` was added later, and it wasn't particularly critical to what we were testing so I chose to omit it.
Configuration menu - View commit details
-
Copy full SHA for b30ca79 - Browse repository at this point
Copy the full SHA b30ca79View commit details -
Configuration menu - View commit details
-
Copy full SHA for d6eebe9 - Browse repository at this point
Copy the full SHA d6eebe9View commit details -
Tweak spec to remove assumption that no signals workaround is disable…
…d by default This broke Ruby 2.5, which enables it by default.
Configuration menu - View commit details
-
Copy full SHA for 30601a2 - Browse repository at this point
Copy the full SHA 30601a2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9ad82fe - Browse repository at this point
Copy the full SHA 9ad82feView commit details
Commits on Jun 18, 2024
-
Tweak naming of functions to clarify that it's signals being held
The interruptions part is just a consequence of signal delivery.
Configuration menu - View commit details
-
Copy full SHA for 8099c94 - Browse repository at this point
Copy the full SHA 8099c94View commit details -
Avoid ruby2_keywords and instead have variants for Ruby 2 and 3
Loic suggested this may provide better compatibility, and it seems to make sense given we're monkey patching a quite core Ruby class. This diff is way easier to review without whitespace. What I did was copy/paste the module, remove the `ruby2_keywords`, add `**kwargs` to the Ruby 3 variants and clean up any things that don't make sense for Ruby 3 (e.g. testing for 2.5 for some methods).
Configuration menu - View commit details
-
Copy full SHA for ba0d6b5 - Browse repository at this point
Copy the full SHA ba0d6b5View commit details
Commits on Jun 19, 2024
-
Add test to make sure we don't forget to register new profiler benchm…
…arks ...which I totally was almost forgetting.
Configuration menu - View commit details
-
Copy full SHA for a6366f9 - Browse repository at this point
Copy the full SHA a6366f9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3501237 - Browse repository at this point
Copy the full SHA 3501237View commit details
Commits on Jul 1, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 533eeca - Browse repository at this point
Copy the full SHA 533eecaView commit details
Commits on Jul 2, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 259e134 - Browse repository at this point
Copy the full SHA 259e134View commit details