Use a custom Ruby patch to instrument memory usage [RUN ALL RSPEC] [RUN AS-IF-FOSS]
What does this MR do?
This uses a custom Ruby VM patch as described in this issue #296530 (closed) to provide a per-request/per-worker memory allocation statistics.
This also slightly refactors our way of initializing the instrumentation frameworks.
This is dependent on having:
- Omnibus changes
- CNG changes
- Updated Ruby for GitLab CI
- (potentially) Updated Ruby for GDK/GCK if needed to test locally
Manually tested
I tested the (on Feb 5th):
- logs being present for
sidekiq
- logs being present for
controllers
- logs being present for
API
- FF being disabled do not emit any logs
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Edited by Kamil Trzciński (Back 2025-01-01)