These are chat archives for ManageIQ/manageiq/performance
@FDewaleyne Okay, so to start off, I personally use something I have been writing over the past 6 months or so, https://github.com/ManageIQ/manageiq-performance , to get extended insight into what is being reported on.
In my case, where I was looking into a memory leak regarding the
MetricsCollector, I was testing against an appliance (versus on my local machine), and wanted to also run with memory_profiler and stackprof (didn't actually use this). Because of that, I needed two [WIP] PRs on that project for it to work:
The first PR (still finishing some things up with it) allows installing extra gems into the "appliance_installation_script", which was needed to allow me to install
memory_profiler in addition to
manageiq-performance on the appliance. This part of that script can already be generated from master on that project by doing the following:
$ rake generate_install_script
But with that PR, you can do things like this:
$ rake extra_gem[memory_profiler] generate_install_script
to install additional gems with the install script.
bundle exec ruby [GENERATED_SCRIPT](no http access or git binary required), and injects the gems into the appliances gem bundle
MiqQueue#delievermethod (when configured), making it so that every job is then profiled while it is being processed. I used it in conjunction with the
memorymiddleware plugin from
manageiq-performanceto see if any jobs were causing the leak.
MetricsCollectorworker), and ran them manually using
memory_profilerto see what objects were being generated, and what was being retained
This ended leading to 4 PRs that I hope (:fingers_crossed:) will help with the memory leak:
But some long term testing on an appliance with those patches in place is needed to be sure
MiqQueuewrapper stuff will be more helpful to you
@FDewaleyne something I just noticed that also exists:
@jrafanie might be able to tell you more on how it works, but wouldn't require anything but changing some configs on an appliance