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
Use Hawkular memory tag working-set instead of usage #305
Use Hawkular memory tag working-set instead of usage #305
Conversation
6d53366
to
edd145c
Compare
Technically I'd prefer adding a new metric column, adding a new dashboard widget using it, and letting customer choose which widget they want to see.
But I don't know what it takes to add a new metric, and I'm not the one that'd implement it :-) |
aeb74d4
to
3f63a90
Compare
Hey @yaacov, I realize you're trying to get this done in a way that can be backported but I'm also 👎 on overloading an existing column. |
3f63a90
to
23ec957
Compare
As @agrare mentioned in the BZ the "correct" way will be to add a new column to the metrics table. I agree with that observation. My issues with the "correct" solution are:
p.s. EDIT NOV-19: usage = |
@yaacov I get what you are saying, but as @cben says, we can't do this since it would mess up rollups, historic reports etc. @agrare @Fryguy did we deal with something like this before? We already have field for swap For the memory usage, it depends, for OpenStack infra the customer expected the used memory is |
Correct, as @cben and @Ladas mentioned overloading @Ladas, how fast do you think you or @adam can push the necessary schema changes and the necessary aggregations, roll-ups and reports changes ? Depending on the state of the BZ, I am for waiting with this PR until schema changes get merged. My two cents on waiting for schema changes:
|
@yaacov so, most important question, how does this align to https://github.com/Ladas/manageiq-providers-kubernetes/blob/5565f3738fdbd49979eb2da202ee52dedf23a805/app/models/manageiq/providers/kubernetes/container_manager/refresh_parser.rb#L727 Does that align with (there is also unused code that should be aligned https://github.com/Ladas/manageiq-providers-kubernetes/blob/833e43eaaa0938f3e60d7ec8952a5ed7ecde0176/app/models/manageiq/providers/kubernetes/container_manager/metrics_capture/hawkular_capture_context.rb#L264 ? ) |
Hi all, to sum discussions on and off line - Common wisdom now is to add a new field to schema, @agrare will try to push this forward. I will change this PR to push data to a yet none existent field called Not used fields in metrics table:
We will also try to see if we can add more memory related fields on the way, The metrics we can get from Hawkular in Openshift 3.7.27 are:
|
I am -1 on the option...more options is bad for the product, and in this case would be a confusing option for customers as they a) would not understand why they would switch it and b) probably would never switch it (because I would choose the settings default to be the more accurate working_set). I'm also -1 on a new column to solve this issue. In my opinion, the original choice of "usage" was just a bug/oversight, and the new choice of "working set" is the correct value and is just a bug fix. |
👍 on just reading Do we need to support pre 3.7.27 OpenShifts that do not have the |
@yaacov so you mentioned that this was missing on 3.7.0-alpha.1, can we find out if it was available on 3.7.0 GA? |
I will check ... it may take a little time :-) |
@yaacov please respond to #305 (comment) You are changing the used memory, but you are keeping |
@agrare it looks like it was in 3.7.0 GA (*) was in Heapster 1.3 used in OpenShift 3.7 |
@Ladas I do not understand your question. Why fixing a wrong metrics, should have affect on We are changing the value from being |
@yaacov well, no, you are computing the So it uses the So should the Or was it correct and now we'll never see 100%, even if all your resources are consumed? |
@Ladas I see.
Sometimes:
b.
c.
No, we used mem_usage_absolute_average will never be more than 100%
if all using Does that make seance to you ? |
Can containers share cache (is this without shared/buffer)? If they would it could go over 100%, when summed. Otherwise this mean we can't never reach 100% util, if there is a cache now? |
AFAIK containers should not share any memory
We get our numbers from cAdvisor used by many projects, most use |
Okay @yaacov so lets drop the config option. Since we support versions older than when this was added we'll need to either add a version check on the provider or do something like |
Okay yaacov <https://github.com/yaacov> so lets drop the config option.
Since we support versions older than when this was added we'll need to
either add a version check on the provider or do something like working_set
|| usage
How will users know which of the 2 they're seeing?
… |
We'll need to doc that on openshift 3.6 you get |
@yaacov actually since we are dropping support for pre 3.7 on master and back to hammer you can just switch to |
…s collected from Hawkular.
23ec957
to
ae07ba5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good 👍
Code LGTM 👍 What about prometheus? |
@cben Prometheus isn't supported. |
yes :-) |
Use Hawkular memory tag working-set instead of usage (cherry picked from commit aeda847) https://bugzilla.redhat.com/show_bug.cgi?id=1650351
Hammer backport details:
|
Backported to Gaprindashvili via #306 |
…emory-tag Use Hawkular memory tag working-set instead of usage (cherry picked from commit aeda847)
…emory-tag Use Hawkular memory tag working-set instead of usage (cherry picked from commit aeda847)
Use Hawkular memory tag working-set instead of usage (cherry picked from commit aeda847) Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1663520
Gaprindashvili backport details:
|
Description
ManageIQ includes cached memory when showing used memory in the dashboard and reports, some users want to see only the working set values as memory usage in the dashboard.
Definitions of memory tags used in Hawkular:
memory/usage
- Total memory usage, including cache.memory/working_set
- Total working set usage. Working set is the memory being used and not easily dropped by the kernel.This PR replace the memory value used in reports in dashboard.
Testing
In
rails c
:Before:
After:
BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1650351
BZ (old): https://bugzilla.redhat.com/show_bug.cgi?id=1456856