Temporarily disable GC profiling by default in new Ruby profiler due to overhead #2481
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this PR do?:
We previously only enabled GC profiling by default on Ruby 2.x (we disabled it on 3.x due to a bug, see #2354).
This PR changes the profiling configuration to never enable GC profiling by default (thus bringing the Ruby 2.x and 3.x defaults into sync).
Motivation:
I've had one new Ruby profiler alpha user report that GC profiling had a quite big overhead, and I could replicate the issue on a GC-heavy benchmark.
Since we'd like to get the new Ruby profiler out into customer's hands in beta, I decided to disable this feature by default, and come back to it after beta is out.
Additional Notes:
GC profiling can still be enabled via configuration.
How to test the change?:
Change includes test coverage. Furthermore, profiling any application will no longer show the
Garbage Collection
frames in the flamegraph by default.