fix(CPU load): Fix CPU load showing 0% in Runtime -> Metrics -> System #1057
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.
The problem I am seeing in a downstream project is while viewing the Runtime->Metrics tab, CPU load almost always shows 0.00%. What I think is going on after some digging is that Jolokia is returning 0 for SystemCpuLoad due to this problem here: https://medium.com/infobipdev/the-java-cpu-usage-observer-effect-18808b18323f
In the back end,
getSystemCpuLoad()
actually just callsgetCpuLoad()
, resulting in two nearly subsequent calls to that getCpuLoad method when the whole OperatingSystem mbean is called, which the medium article warns about.From looking at the actual jolokia response object,
CpuLoad
in actually does have a real value, so this proposed change would just use that instead if available.Made both fields conditional in the ts class in order to:
CpuLoad
was added