Skip to content
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

[metricbeat] Fallback to different CPU calculation if we have no online_cpu count #15070

Merged

Conversation

fearful-symmetry
Copy link
Contributor

So, apparently CentOS VMs on Azure will use an odd (but apparently supported) version of docker that does not give you an online_cpu field with the container /stats request. This breaks the cpu.*.pct fields, which use cpu count in their calculations. Previous versions used a length count:

func (u *cpuUsage) CPUs() int {
	if u.cpus == 0 {
		u.cpus = len(u.Stats.CPUStats.CPUUsage.PercpuUsage)
	}
	return u.cpus
}

However, we can't just fall back to this, for reasons outlined in #13674. It seems we're not the first people to run into that issue, see coreos/bugs#2088 .

So, we're instead looping through PercpuUsage and using non-zero fields. This is assuming that per-cpu usage is never zero. This is kinda ugly, but hopefully this is an edge case we won't hit too often.

Copy link
Member

@ChrsMark ChrsMark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, thanks!

@exekias exekias added the needs_backport PR is waiting to be backported to other branches. label Dec 12, 2019
@fearful-symmetry fearful-symmetry merged commit c11e57f into elastic:master Dec 12, 2019
fearful-symmetry added a commit to fearful-symmetry/beats that referenced this pull request Dec 12, 2019
…ne_cpu count (elastic#15070)

* fallback to different CPU calculation if we have no online_cpu count

(cherry picked from commit c11e57f)
fearful-symmetry added a commit that referenced this pull request Dec 12, 2019
…e have no online_cpu count (#15082)

* [metricbeat] Fallback to different CPU calculation if we have no online_cpu count (#15070)
@fearful-symmetry fearful-symmetry removed the needs_backport PR is waiting to be backported to other branches. label Jan 14, 2020
fearful-symmetry added a commit to fearful-symmetry/beats that referenced this pull request Jan 14, 2020
…ne_cpu count (elastic#15070)

* fallback to different CPU calculation if we have no online_cpu count

(cherry picked from commit c11e57f)
fearful-symmetry added a commit that referenced this pull request Jan 14, 2020
…alculation (#15541)

* [metricbeat] Fallback to different CPU calculation if we have no online_cpu count (#15070)

* fallback to different CPU calculation if we have no online_cpu count

(cherry picked from commit c11e57f)

* fix changelog
leweafan pushed a commit to leweafan/beats that referenced this pull request Apr 28, 2023
…on if we have no online_cpu count (elastic#15082)

* [metricbeat] Fallback to different CPU calculation if we have no online_cpu count (elastic#15070)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants