Support runs with heaptrack profiler #2800
Merged
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.
This PR enables running any service with the
heaptrackmemory profiler. Initially, the plan was to install the necessary components forheaptrackonly when theheaptrackargument is specified. However, the only method I've found involves incorporating the installation script in a bash script that executes every time the image restarts, which isn't good. As a result, the final image is a bit heavier now(1.93GB vs 1.22GB).There is an option to attach the profiler to an already running process without changing the dockerfile, but this consumes more resources and makes it impossible to collect any results since the API latency increases drastically, which leads to frequent pod restarts. Incorporating the profiler into the image and running it from the beginning has less resource impact.